分享

关于CInternetSession缓存问题

 oskycar 2017-10-27 发布于北京

 调用完一次之后,再次调用会出现不发送请求但会返回 HTTP_STATUS_OK 的现象。

需要加一句代码。听说是windows mobile 的一个BUG。

  1. BOOL b = InternetSetOption (session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);  

一段代码:

  1. CInternetSession session(_T("HttpClient"),1, INTERNET_OPEN_TYPE_DIRECT );  
  2. CString responseUtf8;  
  3. DWORD dwStatusCode;  
  4. CHttpFile* pfile;   
  5. try  
  6. {   
  7.     BOOL b = InternetSetOption(session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);  
  8.     pfile = (CHttpFile*)session.OpenURL(url);  
  9.   
  10.     pfile->QueryInfoStatusCode(dwStatusCode);     
  11.     if (dwStatusCode == HTTP_STATUS_OK)   
  12.     {   
  13.         CString strLine;  
  14.         while(pfile->ReadString(strLine))   
  15.         {   
  16.             responseUtf8 += strLine;   
  17.         }  
  18.     }  
  19.   
  20.     pfile->Close();  
  21.     session.Close();  
  22. }  

转载自:http://blog.csdn.net/lxmhuendan/article/details/3935260

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多