网站首页站长博客下载中心域名交易站长论坛域名主机免费电邮免费域名中文排行排名查询站长书库书籍教程下载
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
学院首页 网络编程 网页设计 图形图象 数 据 库 服 务 器 网络媒体 网络安全 个人专栏 站长CLUB 业界新闻 信息公告
 当前位置:首页 >> 网络编程 >> CGI专区 >> 正文
公告通知
返回上级列表
资料搜索
相关文章
利用Perl开发Internet/Intranet应用之二(3)
[ 来源:中国站长学院 | 作者:郁郁小蝎 | 时间:2005-4-17 13:05:07 | 浏览:人次 ]
收藏到新浪ViVi 收藏到365KEY 收藏到我摘  字号选择〖    〗/ 双击滚屏 单击停止  
----3 图形文件的处理

----虽然client经常向服务器申请的都是text/html文件,但是服务器也可以回送GIF、JPG等图形文件,我们只需在数据的header中指明即可。假如我们用< imgsrc="http://10.0.0.1/Scripts/te.pl" >语句调用CGI程式,向服务器申请一个GIF文件,则服务器收到请求后会以二进制码的形式回送一个GIF的图形文件给client。te.pl源程序如下:


#!/bin/perl
#如果该路径已加入PATH中,上句可省
$MY_FILE_NAME='c:/InetPub/wwwroot/photo/1.gif';
#图形文件存放的路径
$CHUNK_SIZE=4096;
#如果图形文件较大,该值可相应取大一些

#header
print"HTTP/1.0200OK\n";
print"Content-type:image/gif\r\n";
print"\r\n";
#如果传输的图形文件为JPG文件,
只需把"image/gif"改为"image/jpeg"

open(MY_FILE,"< $MY_FILE_NAME")
ordie("Can'topen$MY_FILE_NAME:$!\n");
binmode(MY_FILE);
binmode(STDOUT);
#设置传输模式为二进制代码
while($cb=read(MY_FILE,$data,$CHUNK_SIZE))
{
print$data;
}
close(MY_FILE);


----4 如何实现服务器重导

----服务器重导也就是ServerRedirection。我们不但可以利用CGI程式产生虚拟文件,还可以要求服务器送出一个已经存在的文件(该文件可以是本服务器的,也可以是网上任意的页面),这就是服务器重导。详见下图:


1请求2
------ >---- >
4服务器重导3
client< ------server
< ----CGI(Application)
5产生虚拟文件
< ----

----做法是:在CGI程式中不要header(即不要print"HTTP/1.0200OK\n";print"Content-Type:text/html\n\n";这两行)和多加一行print"Location:http://***","\n\n";即可。(http://***为任意的url地址)

----源程序为:

----#!/bin/perl
----print"Location:http://***","\n\n";

----另外,可用JavaScriptForclient的语句书写,但含重导语句的页面需先出现,会有闪烁的效果。附程式如下:

< Script >
Location.href="http://***";
< /Script >

[发送给好友]  [打印本页]  [关闭窗口]  [返回顶部]   转载请注明来源:http://edu.chinaz.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
栏目编辑: 设计风 责任编辑: 设计风
原始作者: 郁郁小蝎 录入时间: 2005-4-17 13:05:07
信息来源: 中国站长学院 投稿信箱: Edu#chinaz.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 总编信箱 - 会员投稿