亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? httpdownload.h

?? 采用C++編寫的,http協議進行下載的類庫及demo,有詳細的原代碼
?? H
字號:
// HttpDownload.h: interface for the CHttpDownload class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HTTPDOWNLOAD_H__11AB7F1F_62EA_47FC_8B2D_B2E3929E2861__INCLUDED_)
#define AFX_HTTPDOWNLOAD_H__11AB7F1F_62EA_47FC_8B2D_B2E3929E2861__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// 結構定義
typedef struct _tagDownloadStatus
{
	UINT	nStatusType;
	DWORD	dwFileSize;
	DWORD	dwFileDownloadedSize;
	CString	strFileName;
//	UINT	nErrorCount;	
//	CString strError;
//	DWORD	dwErrorCode;
}DOWNLOADSTATUS,*PDOWNLOADSTATUS;

// 常量定義
// 缺省超時參數
const DWORD DOWNLOAD_CONNECT_TIMEOUT= 10*1000;// 10秒
const DWORD DOWNLOAD_SEND_TIMEOUT	= 10*1000;// 10秒
const DWORD DOWNLOAD_RECV_TIMEOUT	= 10*1000;// 10秒

// 下載結果
const UINT	DOWNLOAD_RESULT_SUCCESS	= 0;	// 成功
const UINT	DOWNLOAD_RESULT_SAMEAS	= 1;	// 要下載的文件已經存在并且與遠程文件一致,不用下載
const UINT	DOWNLOAD_RESULT_STOP	= 2;	// 中途停止(用戶中斷)
const UINT	DOWNLOAD_RESULT_FAIL	= 3;	// 下載失敗

// 發送請求
const UINT SENDREQUEST_SUCCESS	= 0; // 成功
const UINT SENDREQUEST_ERROR	= 1; // 一般網絡錯誤,可以重試
const UINT SENDREQUEST_STOP		= 2; // 中途停止(用戶中斷) (不用重試)
const UINT SENDREQUEST_FAIL		= 3; // 失敗 (不用重試)	 

// 消息
const WPARAM	MSG_INTERNET_STATUS	= (WPARAM)1;
const WPARAM	MSG_DOWNLOAD_STATUS = (WPARAM)2;
const WPARAM	MSG_DOWNLOAD_RESULT = (WPARAM)3;
const WPARAM	MSG_DOWNLOAD_MAX	= (WPARAM)32; //保留最大可供擴充

//下載狀態
const UINT		STATUS_TYPE_FILENAME			= 1;
const UINT		STATUS_TYPE_FILESIZE			= 2;
const UINT		STATUS_TYPE_FILEDOWNLOADEDSIZE	= 3;
const UINT		STATUS_TYPE_ERROR_COUNT			= 4;
const UINT		STATUS_TYPE_ERROR_CODE			= 5;
const UINT		STATUS_TYPE_ERROR_STRING		= 6;

// 重試類別
const UINT RETRY_TYPE_NONE	= 0;
const UINT RETRY_TYPE_TIMES	= 1;
const UINT RETRY_TYPE_ALWAYS= 2;
//缺省的重試次數
const UINT DEFAULT_RETRY_MAX= 10; 
	
// 缺省端口號
const USHORT DEFAULT_HTTP_PORT = 80;
const USHORT DEFAULT_HTTPS_PORT= 443;
const USHORT DEFAULT_FTP_PORT  = 21;
const USHORT DEFAULT_SOCKS_PORT= 1080;


// HTTP STATUS CODE分類
const UINT	HTTP_OK			= 0;
const UINT	HTTP_ERROR		= 1;
const UINT	HTTP_REDIRECT	= 2;
const UINT	HTTP_FAIL		= 3;

// PROXY的類型
const UINT	PROXY_NONE			= 0;
const UINT	PROXY_HTTPGET		= 1;
const UINT	PROXY_HTTPCONNECT	= 2;
const UINT	PROXY_SOCKS4		= 3;
const UINT	PROXY_SOCKS4A		= 4;
const UINT	PROXY_SOCKS5		= 5;


class CHttpDownload  
{
public:
	CHttpDownload();
	virtual ~CHttpDownload();

public:
	// 靜態函數,用于64編碼、解碼
	static int Base64Encode( LPCTSTR lpszEncoding, CString& strEncoded );
	static int Base64Decode( LPCTSTR lpszDecoding, CString& strDecoded );

	// DWONLOAD函數
	void SetAuthorization(LPCTSTR lpszUsername,LPCTSTR lpszPassword,BOOL bAuthorization = TRUE );
	void SetReferer(LPCTSTR lpszReferer);
	void SetUserAgent(LPCTSTR lpszUserAgent);
	void SetTimeout(DWORD dwSendTimeout,DWORD dwReceiveTimeout,DWORD dwConnectTimeout);
	void SetRetry(UINT nRetryType,UINT nRetryDelay=0,UINT nRetryMax = 0);
	void SetNotifyWnd(HWND hNotifyWnd,UINT nNotifyMsg,BOOL bNotify = TRUE );
	void SetProxy(LPCTSTR lpszProxyServer,USHORT nProxyPort,BOOL bProxy=TRUE,BOOL bProxyAuthorization = FALSE,LPCTSTR lpszProxyUsername = NULL,LPCTSTR lpszProxyPassword = NULL,UINT nProxyType = PROXY_HTTPGET);
	void StopDownload();
	BOOL ParseURL(LPCTSTR lpszURL,CString& strServer,CString& strObject,USHORT& nPort);
	BOOL GetDownloadFileStatus(LPCTSTR lpszDownloadUrl,DWORD &dwFileSize,CTime &FileTime);
	UINT Download(LPCTSTR lpszDownloadUrl,LPCTSTR lpszSavePath,BOOL bForceDownload = FALSE);
		
private:
	UINT	SendRequest(BOOL bHead = FALSE);
	BOOL	CreateSocket();
	void	CloseSocket();
	UINT	GetInfo(LPCTSTR lpszHeader,DWORD& dwContentLength,DWORD& dwStatusCode,CTime& TimeLastModified);
	CTime	GetTime(LPCTSTR lpszTime);

private:	
	
	// 下載參數
	// 待下載URL和本地保存路徑
	CString		m_strDownloadUrl;
	CString		m_strSavePath;
	CString		m_strTempSavePath;//臨時文件的路徑

	// 停止下載
	BOOL		m_bStopDownload;

	// 強制重新下載(不管已有的文件是否與遠程文件相同)
	BOOL		m_bForceDownload;

	// 是否支持斷點續傳
	BOOL		m_bSupportResume;

	// 文件以及下載大小
	DWORD		m_dwFileSize;				// 文件總的大小	
	DWORD		m_dwFileDownloadedSize;		// 文件總共已經下載的大小

	DWORD		m_dwDownloadSize;			// 本次需要下載的大小
	DWORD		m_dwDownloadedSize;			// 本次已經下載的大小

	DWORD		m_dwHeaderSize;				// 返回頭的大小
	CString		m_strHeader;				// 保存頭部信息

	// 文件日期(遠程文件的信息)
	CTime		m_TimeLastModified;

	// Referer
	CString		m_strReferer;
	
	// UserAgent
	CString		m_strUserAgent;

	// 超時TIMEOUT	連接超時、發送超時、接收超時(單位:毫秒)
	DWORD		m_dwConnectTimeout;	
	DWORD		m_dwReceiveTimeout;
	DWORD		m_dwSendTimeout;

	// 重試機制
	UINT		m_nRetryType;	//重試類型(0:不重試 1:重試一定次數 2:總是重試)
	UINT		m_nRetryTimes;	//重試次數
	UINT		m_nRetryDelay;	//重試延遲(單位:毫秒)
	UINT		m_nRetryMax;    //重試的最大次數

	// 錯誤處理
	UINT		m_nErrorCount;	//錯誤次數
	CString		m_strError;		//錯誤信息

	// 向其他窗口發送消息
	BOOL		m_bNotify;			// 是否向外發送通知消息	
	HWND		m_hNotifyWnd;		// 被通知的窗口
	UINT		m_nNotifyMessage;	// 被通知的消息

	// 是否進行驗證 : Request-Header: Authorization
	BOOL		m_bAuthorization;
	CString		m_strUsername;
	CString		m_strPassword;

	// 是否使用代理 
	BOOL		m_bProxy;
	CString		m_strProxyServer;
	USHORT		m_nProxyPort;
	UINT		m_nProxyType;
	
	// 代理是否需要驗證: Request-Header: Proxy-Authorization
	BOOL		m_bProxyAuthorization;
	CString		m_strProxyUsername;
	CString		m_strProxyPassword;


	// 下載過程中所用的變量
	CString		m_strServer;
	CString		m_strObject;
	CString		m_strFileName;
	USHORT		m_nPort;

	SOCKET		m_hSocket;	// 下載連接的SOCKET
	PBSD		m_pBSD;		// BufSocketData結構
	
	// 用于BASE64編碼、解碼
	static UINT		m_nBase64Mask[];
	static CString	m_strBase64TAB;


};

#endif // !defined(AFX_HTTPDOWNLOAD_H__11AB7F1F_62EA_47FC_8B2D_B2E3929E2861__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伊人性伊人情综合网| 狠狠v欧美v日韩v亚洲ⅴ| 美女mm1313爽爽久久久蜜臀| 欧美日韩日日夜夜| 蜜臀av性久久久久蜜臀aⅴ四虎 | 一区二区欧美视频| 欧美一三区三区四区免费在线看| 日韩av不卡一区二区| 国产色91在线| 欧美亚洲精品一区| 国产麻豆视频一区| 亚洲影院在线观看| 国产欧美一区二区精品久导航| 91色porny| 国内精品国产成人国产三级粉色| 狠狠色丁香婷婷综合久久片| 国产乱码字幕精品高清av| 性做久久久久久免费观看欧美| 精品国产亚洲在线| 在线日韩一区二区| 成人午夜私人影院| 国产综合色产在线精品| 国产91对白在线观看九色| 天堂va蜜桃一区二区三区| 亚洲欧美偷拍卡通变态| 久久久国产精品麻豆| 日韩一区国产二区欧美三区| 91黄视频在线观看| 97se亚洲国产综合在线| 国产高清无密码一区二区三区| 欧美aaaaa成人免费观看视频| 亚洲自拍欧美精品| 精品无人码麻豆乱码1区2区| 日欧美一区二区| 国产经典欧美精品| 欧美性猛片aaaaaaa做受| 精品播放一区二区| 亚洲电影视频在线| 国产精品99久| 4438x成人网最大色成网站| 精品视频资源站| 国产婷婷精品av在线| 视频一区在线播放| 99在线精品免费| 99热精品国产| 精品国产一区二区三区久久影院| 日韩码欧中文字| 亚洲色图制服诱惑| 国内外成人在线| 在线免费观看成人短视频| 日韩欧美成人激情| 精品久久人人做人人爰| 精品国精品自拍自在线| 亚洲一级在线观看| 成人精品免费视频| 精品99一区二区三区| 日韩国产欧美一区二区三区| 91在线观看下载| 欧美国产欧美亚州国产日韩mv天天看完整| 精品国产精品网麻豆系列| 亚洲国产精品影院| 视频一区视频二区中文| 91影院在线观看| 中文字幕+乱码+中文字幕一区| 免费av成人在线| 7777精品伊人久久久大香线蕉最新版 | 蜜臀99久久精品久久久久久软件| 色欧美乱欧美15图片| 欧美日韩一区二区在线视频| 1000精品久久久久久久久| 午夜欧美在线一二页| 国产在线视频一区二区| 欧美成人伊人久久综合网| 日韩成人午夜精品| 日韩一级黄色大片| 美女在线视频一区| 欧美成人精品二区三区99精品| 午夜欧美在线一二页| 欧美疯狂性受xxxxx喷水图片| 欧美v日韩v国产v| 免费在线看成人av| 欧美tickling挠脚心丨vk| 精品无人区卡一卡二卡三乱码免费卡| 日韩视频免费观看高清完整版在线观看| 同产精品九九九| 欧美mv和日韩mv的网站| 国产精品自在在线| 国产精品家庭影院| 国产在线不卡一卡二卡三卡四卡| 久久综合一区二区| 日日欢夜夜爽一区| 日韩精品一区二区三区视频在线观看 | 久久天堂av综合合色蜜桃网| 精品一区二区三区在线播放视频| 欧美sm极限捆绑bd| 成人av网站在线观看| 精品久久国产老人久久综合| 国产一区二区三区视频在线播放| 久久久天堂av| 91麻豆文化传媒在线观看| 午夜视频久久久久久| 精品国产一区久久| 成人av网址在线观看| 天天色综合天天| 国产午夜精品在线观看| 日本道免费精品一区二区三区| 视频在线在亚洲| 国产精品入口麻豆原神| 国产美女精品人人做人人爽| 中文字幕中文字幕在线一区| 欧美日韩一区国产| 成人三级在线视频| 日韩国产精品久久久| 国产精品美女久久久久久| 欧美日韩国产电影| 日日摸夜夜添夜夜添国产精品| 久久久久国产精品人| 欧美日韩在线电影| youjizz久久| 精品中文字幕一区二区| 一区二区三区国产精华| 久久久久久久久蜜桃| 欧美精品v日韩精品v韩国精品v| 粉嫩高潮美女一区二区三区| 五月天精品一区二区三区| 中文字幕制服丝袜一区二区三区| 日韩一区二区视频在线观看| aa级大片欧美| 成人中文字幕电影| 九九热在线视频观看这里只有精品| 夜夜揉揉日日人人青青一国产精品 | 欧美系列日韩一区| 大陆成人av片| 韩国精品主播一区二区在线观看| 亚洲电影你懂得| 亚洲乱码中文字幕| 国产精品国产三级国产aⅴ原创| 精品日韩在线观看| 日韩精品一区二区三区在线播放 | 日韩一区二区三区四区| 色88888久久久久久影院野外| 成人app网站| 成人精品一区二区三区四区 | 99视频精品免费视频| 国产成人免费视频| 国产麻豆成人精品| 国产精品白丝av| 国内久久婷婷综合| 国产成人亚洲综合a∨婷婷图片| 久久99久久99精品免视看婷婷| 男男视频亚洲欧美| 久久99国产精品免费| 国产一区二区免费视频| 韩国av一区二区三区在线观看| 国产精品一区二区三区乱码| 国产麻豆欧美日韩一区| 国产99久久久国产精品免费看| 国产成人午夜99999| 国产.欧美.日韩| 一本久久综合亚洲鲁鲁五月天| 91麻豆精品秘密| 欧美久久久影院| 精品美女被调教视频大全网站| 日韩欧美精品三级| 久久久99精品久久| 1区2区3区欧美| 亚洲成在人线在线播放| 久久精品久久综合| 一区二区三区日韩欧美| 亚洲午夜视频在线| 日本女优在线视频一区二区| 久久超碰97中文字幕| 国产高清久久久| 91啪在线观看| 制服丝袜亚洲色图| 中文字幕免费观看一区| 一区二区三区日韩在线观看| 毛片不卡一区二区| 岛国一区二区三区| 欧美日韩国产影片| 国产亚洲精品aa午夜观看| 亚洲欧美一区二区在线观看| 五月婷婷激情综合网| 国产福利一区在线观看| 在线观看日产精品| 2023国产精品| 亚洲图片欧美一区| 国产麻豆精品在线| 欧美日韩免费电影| 中文字幕va一区二区三区| 亚洲成a天堂v人片| 成人免费高清在线观看| 91麻豆精品国产无毒不卡在线观看 | 亚洲va欧美va人人爽| 国内精品国产成人国产三级粉色| 日本韩国视频一区二区| 久久在线观看免费| 视频一区二区三区在线| av在线一区二区| 精品粉嫩aⅴ一区二区三区四区|