Как получить код состояния 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 уже предоставил для этого какой-то способ?


person ghord    schedule 28.05.2014    source источник


Ответы (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);
person asfdfdfd    schedule 11.09.2014