CInternetFile::Read第1次调用成功、第二次调用失败
BOOL GetHttp()
{
CString urlBase= _T("http://m.weather.com.cn/data/");
DWORD dwServiceType = AFX_INET_SERVICE_HTTP;
CString szServer, szObject;
INTERNET_PORT nPort;
CInternetSession mysession;
CString url = _T("http://m.weather.com.cn/data/101071201.html");
if(!AfxParseURL(url, dwServiceType, szServer, szObject, nPort)){
return FALSE;
}
CHttpFile* pHttpFile = NULL;
try
{
pHttpFile = (CHttpFile*)mysession.OpenURL(url);
}catch (CException* e)
{
CString strMessage;
e->GetErrorMessage(strMessage.GetBuffer(1024), 1024, NULL);
strMessage.ReleaseBuffer();
// e->ReportError();
if(pHttpFile){
pHttpFile->Close();
delete pHttpFile;
}
mysession.Close();
return FALSE;
}
try
{
pHttpFile->SendRequest(NULL);
}
catch (CException* e)
{
CString strMessage;
e->GetErrorMessage(strMessage.GetBuffer(1024), 1024, NULL);
strMessage.ReleaseBuffer();
// e->ReportError();
pHttpFile->Close();
delete pHttpFile;
mysession.Close();
return FALSE;
}
int length = 0;
length = pHttpFile->GetLength();
int count = 0;
while(length>0 && count<20)
{
count++;
char *pChar = new char[length+1];
try
{
pHttpFile->Read(pChar, length);
}
catch(...)
{
if(pChar)
delete pChar;
pHttpFile->Close();
delete pHttpFile;
mysession.Close();
return FALSE;
}
pChar[length] = 0;
if(pChar)
delete pChar;
length = pHttpFile->GetLength();
}
pHttpFile->Close();
delete pHttpFile;
mysession.Close();
}
调用函数,从同一url获取数据,在有些电脑上win7,第一次读取数据成功,第二次调用失败,pHttpFile->Read(pChar, length);返回错误码是6,高手帮忙解答一下是什么原因。