Im trying to use WinHttpQueryHeaders to display the response headers so i can copy some of the data, but im not getting the correct headers that i should be getting.
This is what my app prints to cmd:
Code:
Header contents:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Cache-control: no-cache, no-store
Pragma: no-cache
Expires: Mon, 01-Jan-1990 00:00:00 GMT
X-Content-Type-Options: nosniff
This is what my packet sniffer receives from the winhttp request, & what i need:
Code:
- Http: Response, HTTP/1.1, Status Code = 302, URL: "URL"
ProtocolVersion: HTTP/1.1
StatusCode: 302, Moved temporarily
Reason: Moved Temporarily
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Mon, 17 Aug 2009 15:31:35 GMT
Location: "redirect URL"
+ ContentType: text/html; charset=UTF-8
X-Content-Type-Options: nosniff
TransferEncoding: chunked
HeaderEnd: CRLF
+ chunkSize: 378
+ ChunkPayload: HttpContentType = text/html; charset=UTF-8
FooterEnd: CRLF
ChunkEnd: 0
FooterEnd: CRLF
Code:
bResults = WinHttpReceiveResponse(hRequest, NULL);
if (bResults)
{
WinHttpQueryHeaders( hRequest, WINHTTP_QUERY_RAW_HEADERS_CRLF,
WINHTTP_HEADER_NAME_BY_INDEX, NULL,
&dwSize, WINHTTP_NO_HEADER_INDEX);
if( GetLastError( ) == ERROR_INSUFFICIENT_BUFFER )
{
lpOutBuffer = new WCHAR[dwSize/sizeof(WCHAR)];
// Now, use WinHttpQueryHeaders to retrieve the header.
bResults = WinHttpQueryHeaders( hRequest,
WINHTTP_QUERY_RAW_HEADERS_CRLF,
WINHTTP_HEADER_NAME_BY_INDEX,
lpOutBuffer, &dwSize,
WINHTTP_NO_HEADER_INDEX);
}
}