This page on msdn包含可能在WinHTTP中使用的HTTP状态代码的定义。有没有办法从WinHttp中的请求中检索HTTP状态代码?
我发现获取响应文本的唯一方法是调用WinHttpQueryHeaders
,它会返回HTTP响应:
HTTP/1.1 404 Not Found
Date: Wed, 28 May 2014 08:20:29 GMT
Content-Length: 0
Server: Microsoft-HTTPAPI/2.0
我是否必须自己解析此字符串以获取状态代码,或者WinHttp已经提供了某种方法来执行此操作?
答案 0 :(得分:13)
使用它来读取http状态代码(hRequest - 请求句柄)。
DWORD dwStatusCode = 0;
DWORD dwSize = sizeof(dwStatusCode);
WinHttpQueryHeaders(hRequest,
WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER,
WINHTTP_HEADER_NAME_BY_INDEX,
&dwStatusCode, &dwSize, WINHTTP_NO_HEADER_INDEX);