c++,InternetOpen句柄突然无效

appcell 2012-10-31 02:18:31
楼主乃大一学生,大学以前没学过编程,所以大家莫嘲笑…………
要求写一个爬虫程序,需要抓取网页到aaa.html里:

bool PCatch(CString strIP,CString strHost,CString strURI)
{
CFile HtmlFile(_T("aaa.html"), CFile::modeWrite|CFile::modeCreate); //创建文件
LPCTSTR lpszAgent = "WinInetGet/0.1";
HINTERNET hInternet = InternetOpen(lpszAgent,INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);


……
……

HtmlFile.Flush();
HtmlFile.Close();
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);

}

程序运行的时候,一开始还正常,大概抓到7k个网页之后突然没数据了,用getlasterror发现是
HINTERNET hInternet = InternetOpen(lpszAgent,INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
这一步句柄无效,之后一直无效。

求解是个什么状况,捉急啊~
...全文
216 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ArcRain 2012-10-31
  • 打赏
  • 举报
回复
估计没有把每次InternetOpen的hInternet关闭吧...把InternetCloseHandle(hInternet)加上试试。

18,356

社区成员

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

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