我写的一个函数,想下载中文网页,但是下载下来的却是英文网页(用IE浏览器打开是中文的网页,但是用程序打开的却是英文的)!!!!大伙看看有何问题啊! 急啊!CString CLoadfile::gethtmlfile(CString htmlurl)
{
CString szData,szAllData;
CInternetSession *sess = new CInternetSession(NULL
,1
,INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD);
sess->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000);
sess->SetOption(INTERNET_OPTION_CONNECT_BACKOFF,1000);
//sess->SetOption(INTERNET_OPTION_CONNECT_RETRIES,2); //重新尝试2次
CHttpFile* pF=NULL;
try
{
pF=(CHttpFile*)sess->OpenURL(htmlurl);//打开文件
while(pF->ReadString(szData))
{//读取文件
szAllData+="\r\n";
szAllData+=szData;
}
pF->Close();
sess->Close();
}
catch(...)//CInternetException* lpEx
{
// lpEx->ReportError();
// lpEx->Delete();
pF=NULL;
delete sess;
}
return szAllData;
}
{
CString szData,szAllData;
CInternetSession *sess = new CInternetSession(NULL
,1
,INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD);
sess->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000);
sess->SetOption(INTERNET_OPTION_CONNECT_BACKOFF,1000);
//sess->SetOption(INTERNET_OPTION_CONNECT_RETRIES,2); //重新尝试2次
CHttpFile* pF=NULL;
try
{
pF=(CHttpFile*)sess->OpenURL(htmlurl);//打开文件
while(pF->ReadString(szData))
{//读取文件
szAllData+="\r\n";
szAllData+=szData;
}
pF->Close();
sess->Close();
}
catch(...)//CInternetException* lpEx
{
// lpEx->ReportError();
// lpEx->Delete();
pF=NULL;
delete sess;
}
return szAllData;
}
CString CLoadfile::gethtmlfile(CString htmlurl)
{
CString szData,szAllData;
CString pstrHeaders="";
pstrHeaders="Accept-Language: zh-cn";////////////增加HEADER,下载中文网页
CInternetSession *sess = new CInternetSession(NULL
,1
,INTERNET_OPEN_TYPE_DIRECT,
NULL,
NULL,
INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD); sess->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000);
sess->SetOption(INTERNET_OPTION_CONNECT_BACKOFF,1000);
//sess->SetOption(INTERNET_OPTION_CONNECT_RETRIES,2); //重新尝试2次
CHttpFile* pF=NULL;
try
{
pF=(CHttpFile*)sess->OpenURL(htmlurl,1,INTERNET_FLAG_TRANSFER_BINARY,pstrHeaders,pstrHeaders.GetLength());
while(pF->ReadString(szData))
{//读取文件
szAllData+="\r\n";
szAllData+=szData;
}
pF->Close();
sess->Close();
}
catch(...)//CInternetException* lpEx
{
// lpEx->ReportError();
// lpEx->Delete();
pF=NULL;
delete sess;
}
AfxMessageBox(szAllData);
return szAllData;}