Как получить код состояния HTTP из запроса WinHttp?
эта страница на msdn содержит определения кодов состояния HTTP, предположительно используемых в WinHTTP. Есть ли способ получить код состояния HTTP из запроса, сделанного в WinHttp?
единственный способ, который я нашел, чтобы добраться до текста ответа, - это позвонить 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 для этого?
1 ответов
используйте это для чтения кода состояния 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);