//http下载
#include <afxinet.h>
#include <afxsock.h>
DWORD HttpRead(LPCTSTR pstrURL, CString &szReturn)
{
DWORD dwError = 0;
//初始化Socket
do
{
if(!AfxSocketInit())
{
dwError = ERROR_INTERNET_TCPIP_NOT_INSTALLED;
ASSERT(FALSE);
break;
}
CInternetSession session;
CHttpFile* pFile = NULL;
try
{
if((pFile = (CHttpFile*)session.OpenURL(pstrURL)) != NULL)
{
DWORD dwRet = 0;
pFile->QueryInfoStatusCode(dwRet);
while (dwRet == HTTP_STATUS_OK)
{
char szBuff[1025];
memset(szBuff, 0, sizeof(szBuff));
UINT nRead = pFile->Read(szBuff, 1024);
if(nRead > 0)
{
szReturn += szBuff;
}
else
{
break;
}
}
pFile->Close();
}
}
catch (CInternetException* pEx)
{
//catch errors from WinInet
dwError = pEx->m_dwError;
#ifdef _DEBUG
pEx->ReportError();
#endif
pEx->Delete();
}
//结束清理
if(pFile){ delete pFile; pFile = NULL; }
session.Close();
}while(0);
return dwError;
}
HTTP页面下载(CInternetSession 和 CHttpFile应用)
最新推荐文章于 2015-06-01 17:05:30 发布