InternetReadFile抓取网页出现乱码
我的目的是通过该函数获取指定地址页面的源文件,然后保存到本地文件中,现在的问题是,使用该函数下载的页面中,所有出现中文的地方均被过滤掉了,请问该怎么解决?
相关代码如下:
HINTERNET hInternet ;
HINTERNET hOpenUrl ;
hInternet = InternetOpen(LPCWSTR("Application"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE) ;
// If internet session created OK
if (hInternet != NULL)
{
// InternetOpenURL
// Begin reading a complete HTTP URL.
hOpenUrl = InternetOpenUrl(hInternet, strURL, NULL, 0,INTERNET_FLAG_RELOAD, 0) ;
// If Open URL OK
if (hOpenUrl != NULL)
{
BOOL bLoop ;
DWORD lpdwNumberOfBytesRead, dwSize ;
bLoop = true;
dwSize = 1 ;
LPSTR lpBuffer ;
CString textLine;
CStdioFile fileWrite;
if(fileWrite.Open(strWriteName, CFile::modeWrite|CFile::modeCreate))
{
while (bLoop)
{
lpBuffer = new char[dwSize+1] ;
// InternetReadFile
// Reads data from a handle opened by the InternetOpenUrl
InternetReadFile(hOpenUrl, (LPVOID)lpBuffer, dwSize, &lpdwNumberOfBytesRead) ;
if (lpdwNumberOfBytesRead == 0)
bLoop = false ;
else
{
lpBuffer[lpdwNumberOfBytesRead] = '\0';
fileWrite.WriteString((CString)lpBuffer);
}
delete lpBuffer;
}
fileWrite.Close();
AfxMessageBox(_T("下载完毕"));
}
else
AfxMessageBox(_T("URL地址不正确"));
}
}