I want to query ETag header from response headers (Of course ETag is HTTP standar, but it is not defined as a flag in WinHttpQueryHeaders function). this is Microsoft's example:
HRESULT ReadHeader(
__in HINTERNET requestHandle,
__in_z WCHAR* headerName,
__in ULONG queryFlags)
{
HRESULT hr = NOERROR;
WCHAR headerBuffer[256];
ULONG headerLength = sizeof(headerBuffer);
if (!WinHttpQueryHeaders(
requestHandle,
queryFlags,
NULL,
headerBuffer,
&headerLength,
WINHTTP_NO_HEADER_INDEX))
{
hr = HRESULT_FROM_WIN32(GetLastError());
goto Exit;
}
wprintf(L"%s: %s\n", headerName, headerBuffer);
Exit:
return hr;
}
It can use to query value with flags. But how I can do with ETag? I tried:
WinHttpQueryHeaders(
requestHandle,
NULL,
L"ETag",
headerBuffer,
&headerLength,
WINHTTP_NO_HEADER_INDEX)
with no success.
Pass WinHttpQueryHeaders
a dwInfoLevel
set to WINHTTP_QUERY_CUSTOM
which:
Causes
WinHttpQueryHeaders
to search for the header name specified in thepwszName
parameter and store the header information inlpBuffer
.