HttpQueryInfo 不返回正确的 HTTP 状态码

weixin_38062902 2017-07-25 11:36:46
#define WINVER _WIN32_WINNT_WINXP #define _WIN32_WINNT WINVER HINTERNET hInet=InternetOpen(TEXT("USERAGENT"), INTERNET_OPEN_TYPE_PRECONFIG, nullptr, nullptr, 0); HINTERNET hHttp=InternetOpenUrl(hInet, TEXT("http://www.website.com/"), TEXT("Connection: close\r\n"), -1, INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_RELOAD, 0); BYTE ab[1024]; DWORD dwIndex=0; HttpQueryInfo(hHttp, HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, ab, 1024, &dwIndex); int iStatusCode=*reinterpret_cast<int*>(ab);
在 Win10 上使用 VS2017 的 XP 工具集编译(项目平台 x86,字符集 Unicode),在 XPSP3 及 Win8.1 上取得的 HTTP 状态码为 0,然而用
HTTP_QUERY_RAW_HEADERS_CRLF 取得的第一行确实是 HTTP/1.1 200 OK。在 Win10 上能正确取得状态码 200。求解。

(PS:没有 Windows SDK 开发论坛板块?)
...全文
19 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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