⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpget.h

📁 此程式利用ftp與http協定提供多線程下載及斷點續傳功能
💻 H
字号:
// CHttpGet.h: CHttpGet类定义.
//
#ifndef _HTTPGET_H__INCLUDED
#define _HTTPGET_H__INCLUDED

class CHttpSect
{
public:
    CString  szProxyAddr;     // 理服务器地址.
    CString  szHostAddr;      // Host地址.
    int      nProxyPort;      // 代理服务端口号.
    int      nHostPort;       // Host端口号.
    CString  szHttpAddr;      // Http文件地址.
    CString  szHttpFilename;  // Http文件名.
    CString  szDesFilename;   // 下载后的文件名.
	DWORD    nStart;          // 分割的起始位置.
    DWORD    nEnd;            // 分割的起始位置.
	DWORD    bProxyMode;      // 下载模态. 
};

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

private:
	CHttpSect *sectinfo;
	static int m_nCount;
	static UINT ThreadDownLoad(void* pParam);

private:
	static DWORD m_nFileLength;

private:
	static SOCKET ConnectHttpProxy(CString strProxyAddr,int nPort);
	static SOCKET ConnectHttpNonProxy(CString strHostAddr,int nPort);
	static BOOL SendHttpHeader(SOCKET hSocket,CString strHostAddr,
				CString strHttpAddr,CString strHttpFilename,DWORD nPos);
	static DWORD GetHttpHeader(SOCKET sckDest,char *str);
	static DWORD GetFileLength(char *httpHeader);
	static BOOL SocketSend(SOCKET sckDest,CString szHttp);

	BOOL FileCombine(CHttpSect *pInfo, FILE *fpwrite);

public:
	BOOL HttpDownLoadProxy(
			CString strProxyAddr,
			int nProxyPort,
		    CString strHostAddr,
			CString strHttpAddr,
			CString strHttpFilename,
			CString strWriteFileName,
			int nSectNum);

	BOOL HttpDownLoadNonProxy(
		    CString strHostAddr,
			CString strHttpAddr,
			CString strHttpFilename,
			CString strWriteFileName,
			int nSectNum);

	BOOL HttpDownLoad(
			CString strProxyAddr,
			int nProxyPort,
		    CString strHostAddr,
			int nHostPort,
			CString strHttpAddr,
			CString strHttpFilename,
			CString strWriteFileName,
			int nSectNum,
			BOOL bProxy);
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -