请教:关于wininet中的API InternetOpenUrl 返回12029错误的问题?

tomorrow819 2011-09-13 12:00:07
我用mfc做的一个软件,需要访问web,我用wininet方式异步获取web网页数据。软件用户有好几万,其中有5%左右的用户在程序执行到InternetOpenUrl 时会返回12029错误,我用远程桌面连接到用户电脑,用ie可以正常访问那个web页面,也没有设置代理,但是程序总返回12029错误,不知道有没有大虾遇到过跟我类似的的问题。

调用InternetOpenUrl的位置:
m_hRequest = ::InternetOpenUrl(m_hInstance,
queryString,
NULL, //szHeader,
0, //lstrlen(szHeader),
INTERNET_FLAG_RELOAD |
INTERNET_FLAG_PRAGMA_NOCACHE |
INTERNET_FLAG_NO_CACHE_WRITE,
reinterpret_cast<unsigned long>(this));


回调函数:
switch (dwInternetStatus)
{
case INTERNET_STATUS_HANDLE_CREATED:
if(ERROR_SUCCESS == res->dwError)
cpContext->m_hRequest = (HINTERNET)(res->dwResult);

break;

case INTERNET_STATUS_REQUEST_COMPLETE:

fp = fopen(strFile.GetBuffer(),"a");
if (fp)
{
temp.Format(_T("%d"),res->dwError);
fputs("\r\n", fp);
fputs("+++++++++++++++++++++++++++++++++++", fp);
fputs("\r\n", fp);
fputs(temp.GetBuffer(), fp);
fclose(fp);
debug.ReleaseBuffer();


}
strFile.ReleaseBuffer();

if (ERROR_SUCCESS == res->dwError)
{
if (cpContext->m_hRequest == NULL)
{
cpContext->m_hRequest = (HINTERNET)(res->dwResult);
}
::SetEvent(cpContext->m_WaitEvent);
}

break;
}


在“case INTERNET_STATUS_REQUEST_COMPLETE:”下面的调试信息中就是返回12029
...全文
541 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuxff 2012-03-28
  • 打赏
  • 举报
回复
同求 我也遇到了这个问题。

有时候正常 有时候返回12029错误码
fishion 2012-03-28
  • 打赏
  • 举报
回复
获取网页数据,可以用CInternetSession,CHttpFile等组合下载。
或者看看这里的部分解释,虽然平台不一样,但应该还能参考下的
http://topic.csdn.net/u/20080429/18/cc1b12df-10a8-4d58-a6dd-67e76e6d487a.html

18,356

社区成员

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

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