【计算机论文全套栏目提醒】:网学会员在计算机论文全套频道为大家收集整理了“使用http协议和winsockapi实现webzip文件下载 - 学士论文“提供大家参考,希望对大家有所帮助!
使用http协议和winsockapi实现webzip文件下载 计算机论文 计算机应用 论文正文→使用http协议和winsockapi实现webzip文件下载 使用http协议和winsockapi实现webzip文件下载 作者未知 发布时间2007-4-13 - 使用http协议和winsockapi实现webzip文件下载 本方法主要涉及以下四方面知识html语言、http协议、winsock编程、多线程程序设计。
程序实现过程 1.分析链接关系限于篇幅这里只介绍对锚标记〈a〉的分析。
在html中〈a〉标记的基本语法为〈a href〃...〃 name〃...〃 target〃...〃〉。
其中参数href的值就是欲获取的url值。
2.下载。
在http协议中常用的请求方法有两种get和post。
本实现使用get方法。
最简化的get请求包如下 get /index.htm http/1.1 “/index.htm”表示客户端欲下载的文件路径“http/1.1”表示协议版本。
程序生成get请求包在成功连接对应web服务器的80或其它端口后使用基于tcp协议的同步模式套接字发送请求包并等待 返回信息。
服务器将返回一个应答包大致如下 http/1.0 200 ok ... 数据... 第一行是应答信息。
如果成功服务器将返回“http/1.0 200 ok”。
第三行是一个空行用以分隔http包头和包体数据。
第四行开始就是以字节流的方式返回的数据。
如果使用http代理则与上述有两点不同。
第一 连接时应连接代理服务器而不是连接web服务器。
第二在生成请求包时下载文件的url必须写全url。
对上例而言请求应为“get http://netsport/index.htm http/1.1”而不是“get /index.htm http/1.1”。
具体程序和类程序使用delphi3.0编制 1.初始化winsock。
procedure tform1.formcreatesender: tobject var wversionrequired: word wsdata: twsadata begin ismultithread:true //置〃支持多线程〃为〃真〃 wversionrequired:makeword20 case wsastartupwversionrequiredwsdata of //初始化winsock wsasysnotready : application.messagebox′网络系统未准备′′信息′mb_ok wsavernotsupported : application.messagebox′未提供网络接口′′信息′mb_ok wsaeinval : application.messagebox′网络版本不被支持′′信息′mb_ok end end 2.文件下载线程。
tdownfilethread classtthread private fileurl:string //记录文件的url protected procedure execute override public constructor createurl:string end constructor tdownfilethread.createurl:string begin fileurl:url freeonterminate:true inherited createfalse end procedure tdownfilethread.execute var 1 2 下一页 本文关键词 http协议 winsockapi webzip 文件下载 相关文章列表 没有相关论文 本篇论文关键词 http协议 winsockapi webzip 文件下载