2016-02-09 5 views
0

Я хочу запросить ETag Заголовок из заголовков ответов (Конечно, ETag является стандартом HTTP, но он не определен как флаг в функции WinHttpQueryHeaders). это от Microsoft example:Win32 WinHttp: Правильный способ запроса заголовка пользовательского ответа?

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; 
} 

Это можно использовать для запроса значения с флагами. Но как я могу это сделать с ETag? Я пробовал:

не имеет успеха.

ответ

2

Pass WinHttpQueryHeadersdwInfoLevel набор для WINHTTP_QUERY_CUSTOM которых:

Причины WinHttpQueryHeaders искать имя заголовка, указанного в параметре pwszName и хранить информацию заголовка в lpBuffer.