调用完一次之后,再次调用会出现不发送请求但会返回 HTTP_STATUS_OK 的现象。
需要加一句代码。听说是windows mobile 的一个BUG。
BOOL b = InternetSetOption (session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);
一段代码:
CInternetSession session(_T("HttpClient"),1, INTERNET_OPEN_TYPE_DIRECT );
CString responseUtf8;
DWORD dwStatusCode;
CHttpFile* pfile;
try
{
BOOL b = InternetSetOption(session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);
pfile = (CHttpFile*)session.OpenURL(url);
pfile->QueryInfoStatusCode(dwStatusCode);
if (dwStatusCode == HTTP_STATUS_OK)
{
CString strLine;
while(pfile->ReadString(strLine))
{
responseUtf8 += strLine;
}
}
pfile->Close();
session.Close();
本文介绍了一个Windows Mobile平台上的HTTP请求处理问题,即第二次请求不发送却返回HTTP_STATUS_OK的状态。通过调用InternetSetOption并设置INTERNET_OPTION_RESET_URLCACHE_SESSION选项可以解决此问题。
959

被折叠的 条评论
为什么被折叠?



