📄 downhttp.txt
字号:
HTTP下载类
包括文件:
httpdownload.cpp
httpdownload.h
sockspacket.cpp
sockspacket.h
te_socket.cpp
te_socket.h
//////////////////////////////////////////////////////////////////////
在使用的程序中,不能有afxsock.h,因为默认调用winsock.h,而此类使用winsock2.h。
//////////////////////////////////////////////////////////////////////
【代码名称】 : 基于Winsock2的支持断点续传和SOCKS代理的HTTP下载类 CHttpDownload
【用途】 : 基于HTTP协议的下载类,支持断点续传和HTPPGET、SOCKS4、SOCKS4A、SOCKS5代理协议, 支持HTTP BASIC验证和PROXY验证,同时提供SOCKS函数库和基于WINSOCK2重叠IO和事件 对象的Winsock2函数库。
【作者邮件地址】: telan@263.net telan2000@263.net softelf@263.net
【主页地址】 : www.softelf.com (目前为空)
【代码设计思想】:
1、采用了基于Winsock2中的重叠IO和事件对象模型;
2、基于RFC2616、RFC2617的HTTP/1.1协议设计;
3、基于RFC1928、RFC1929的SOCKS5代理协议;
【部分关键代码说明】:
TE_Socket.h,TE_Socket.cpp :基于重叠IO和事件对象的winsock2函数库
SocksPacket.h,SocksPacket.cpp:SOCKS4、SOCKS5协议处理函数 HttpDownload.h,HtppDownload.cpp:支持断点续传的HTTP下载类实现
【使用说明】 :
1、在头文件中包含下述头文件:
#include "TE_Socket.h"
#include "HttpDownload.h"
2、在程序合适的地方调用Winsock初始化函数:调用TE_InitLibrary() (结束时调用 TE_CleanupLibrary())
3、使用CHttpDownload类
(1)先初始化,设置必要的属性,哪些要设就看实际情况了
CHttpDownload down;
down.SetRetry(....); // 设置重试处理机制
down.SetAuthorization(...); // 下载需要验证的HTTP页面
down.SetTimeout(...); // 设置超时属性
down.SetProxy(.....); // 设置代理类型和代理服务器参数
down.SetNotifyWnd(...); // 设置消息处理窗口,用来接收下载过程当中的消息
(2)开始下载:down.Download(待下载的URL,本地保存的全路径);
【注】要显示下载进度条或其他下载过程当中的信息,需要用下载进度条所在的对话框的窗口句柄调用 SetNotifyWnd(....)函数,通常的情形是在对话框的OnInitDialog()函数中设置属性,另外创建一个线 程来调用down.Download(...)函数。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -