CInternetFile::Read第1次调用成功、第二次调用失败

cww_01 2013-11-05 10:39:52
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,高手帮忙解答一下是什么原因。
...全文
302 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧