great82149 2015-05-11 14:18 采纳率: 0%
浏览 2448

CInternetSession有官方给的比较大型的example吗?这个bug实在是太多了啊

如题
我就写一个爬虫而已,过一会程序莫名其妙就unexpected handle
调试也找不到原因,我都快崩溃了

代码如下:

CStringA Temp;
    CInternetSession Session(_T("Microsoft Internet Browser"), 1UL, INTERNET_OPEN_TYPE_PROXY, pstrProxyName, NULL, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE); //不设置名字会调用 AfxGetAppName()
    //
    Session.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT, 5000);      // 连接超时
    Session.SetOption(INTERNET_OPTION_SEND_TIMEOUT, 5000);           // 发送超时
    Session.SetOption(INTERNET_OPTION_RECEIVE_TIMEOUT, 5000);        // 接收超时
    Session.SetOption(INTERNET_OPTION_CONNECT_RETRIES, 1);          // 1次重试
    //
    CHttpConnection *pHttpConnect = NULL;
    CHttpFile *pHttpFile = NULL;
    //
    CStringA RecvBufferA;
    int nBufferLen = 2048;
    //
    DWORD dwStatus = 0;
    LPCTSTR pszAcceptType[] = { _T("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"), NULL };
    //
    try
    {
        pHttpConnect = Session.GetHttpConnection(pstrServer);

        pHttpFile = pHttpConnect->OpenRequest(CHttpConnection::HTTP_VERB_GET
            , pstrObjectName //访问页面
            , _T("") //来源
            , 1UL
            , pszAcceptType
            , _T("HTTP/1.1")
            , INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE);// INTERNET_FLAG_NO_AUTO_REDIRECT不自动重定向
        if (pHttpFile)
        {
            pHttpFile->SendRequest();// 第二个参数为POST数据
            pHttpFile->QueryInfoStatusCode(dwStatus);
            pHttpFile->Read(RecvBufferA.GetBuffer(nBufferLen), nBufferLen - 1);
            RecvBufferA.ReleaseBuffer();
        }
    }
    catch (CInternetException* pEx)
    {
        TCHAR sz[1024];
        pEx->GetErrorMessage(sz, 1024);
        _tprintf_s(_T("ERROR!  %s\n"), sz);
        pEx->Delete();
        Sleep(5000);
    }
    // if the connection is open, close it 
    if (NULL != pHttpConnect)
    {
        pHttpConnect->Close();
        delete pHttpConnect;
    }
    if (NULL != pHttpFile)
    {
        pHttpFile->Close();
        delete pHttpFile;
    }
    Session.Close();

  • 写回答

3条回答 默认 最新

  • devmiao 2015-05-11 14:57
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多