通行证:用户名 密码 首页 - 新闻 - 免费邮箱 - 短信 - POPO - 相册 - 搜索 - 交友 - 拍卖
NetEase
新闻 | 体育 | 财经 | 娱乐 | 商业 | 科技 | 汽车 | 数码 | 女人 | 旅游 | 教育 | 文化 | 广州 | 军事 | 部落
评论 | NBA | 明星 | 证券 | 基金 | 探索 | 房产 | 手机 | 两性 | 健康 | 培训 | 电影 | 游戏 | 拍卖 | 论坛
你现在的位置是: 网易 > 网易科技 > 网易学院·教程 > 编程开发

CGI教程第七章

http://tech.163.com/school · 2004-11-28 17:30:28 · 来源: 网易学院

    上传文件是建立交互式网站的一个重要手段。一般来说,考虑到CGI程序的安全和一些敏感问题,服务器是不会轻易开放文件上传权利的。

    今天的程序是由WEBSITE1.1附带的一个upload.exe程序,由VB编写而成。所以我要讲的也就是VB写WIN-CGI时候的一些问题。

    VB写Win-CGI:

    在Windows环境下,WEB服务器和一个Windows CGI之间是通过临时文件来传送数据的。这个

    过程如下:

    1.Web服务器接受一个客户机对Windows CGI程序的请求,这个请求也称为Windows CGI请求。

    2.Web服务器把要传送给Windows CGI程序的数据放在一个叫CGI profile的主输入文件。在某些情况下,还会增加一个文件。

    3.Web服务器执行CGI程序,把CGI profile作为它的第一个参数。

    4.Windows CGI开始执行,服务器等待Windows CGI进程结束。在等待过程中,服务器还可以处理其他请求,比如另一个新的CGI进程或HTTP请求。

    5.Windows CGI程序读取作为命令行参数的profile文件并完成必要的处理,CGI程序也许要使用porfile文件中的数据和其他相关的辅助文件中的数据。

    6.在Windows CGI程序结束前,把它的应答写在profile文件指定的输出文件中。

    7.得到CGI程序处理结果后,WEB服务器读取输出文件,看看输出数据是否要打包,并把最后数据发给客户机。

    8.WEB服务器随后就删除处理这个请求时产生的临时文件。如果在服务器管理器注册时,不删除临时文件,则保留这些临时文件。总的说,基于文件的传输过程是比较古老的。但它是最常用的通讯方式。

    CGI32.BAS

    CGI32.BAS是给windows系列的使用者在VB4.0或更高的环境下开发Windows-cgi而写的一

    个程序接口。本文假设你已经对VB编程非常熟悉,所以对于使用VB的过程我就省略不说了。

    在写Win-CGI程序的时候,请将VB环境中的有效对象全部关掉(Custom controls),并将

    CGI32.bas加入project中。随后创建一个子程序

    CGI_Main()

    Sub CGI-Main()

    'Win-CGI程序内容end sub

    对于CGI32.bas,如果你还没有,请在这里下载。

    Sub Main()

    On Error GoTo ErrorHandler

    If Trim$(Command$) = "" Then ' Interactive start Inter_Main ' Call interactive main Exit Sub ' Exit the program End If

    InitializeCGI ' Create the CGI environment

    '=========== CGI_Main ' Execute the actual "script" '===========

    Cleanup:Close #CGI_OutputFN Exit Sub ' End the program '——ErrorHandler:Select Case Err ' Decode our "user defined" errors Case ERR_NO_FIELD:ErrorString = "Unknown form field" Case Else:ErrorString = Error$ ' Must be VB error End Select

    ErrorString = ErrorString & " (error #" & Err & ")" On Error GoTo 0 ' Prevent recursion ErrorHandler (Err) ' Generate HTTP error result Resume Cleanup '——End Sub

    上面是一个Win-cgi的例子。

·本文关键字: CGI / 教程">教程 / 程序

网易郑兰 [返回首页]

相关文章:

推荐文章:

·赢在2007赛迪网年度企业人物榜单揭晓 ·你最需要哪种类型的视频教程 ·不用网银也网上购物 三步自助开通 ·2007年UPA用户体验大会成功闭幕 ·2007中国青年设计节暨用户体验年会在京开幕 ·User Friendly 2007现场图片 ·手机畅游互联网 空中Opera 2.0实测 ·动易软件即将全面开源和免费 ·搜图有“道” 图片达人的搜索秘籍 ·数字水墙 08年世博会亮相 ·RabbitAir MinusA2空气净化器设计 ·Oscar Bjarnason 平面设计 ·国产杀毒软件半个月内勇夺两项国际权威认证 ·美化你的博客-推荐多个博客图标下载网站 ·微软回应Vista用户遇到的网络问题“设计如此” ·eBay改进用户体验 借鉴亚马逊页面设计搜索功能 ·极点五笔6.0正式版发布 ·WPS Office 2007抢先试用 ·报告称Google Apps功能远不及微软Office ·什么是SOCK5代理,什么是HTTP代理

最新评论
  更多评论 0 条评论
网易通行证:   密码:    
参与评论
  您的发表的评论将在5分钟内被审核,请耐心等待

网易学院联系电话:020-61210163-560 合作/投稿邮箱:NeteaseSchool(at)126.com