1

WinHttpQueryHeader()関数を使用して、応答がプロキシまたはエンドサーバーから送信されたかどうかを調べる方法は? 関数WINHTTP_QUERY_PROXY_AUTHENTICATEのパラメーターとして使用しようとしましたが、取得したバッファーは NULL です。dwInfoLevelwinHttpQueryHeader()

int bufferSize = 0;
char lpOutBuffer[500];

ReturnVal = WinHttpQueryHeader(Handle, WINHTTP_QUERY_PROXY_AUTHENTICATE, NULL, &bufferSize);

ReturnVal= WinHttpQueryHeader(Handle, WINHTTP_QUERY_PROXY_AUTHENTICATE, lpOutBuffer, &bufferSize);

lpOutBuffer無効です。

実際、ここでの問題はbufferSize、最初に 0を取得したWinHttpQueryHeaderため、2 番目が( 0 であるため)WinHttpQueryHeaderを満たさないことです。が0 として返されるのはなぜですか?lpOutBufferbufferSizebufferSize

これに反して、InfoLevelasを使用するとWINHTTP_QUERY_RAW_HEADERS_CRLF、正しい出力がbufferSize得られ、0 ではありません。最初のWinHttpQueryHeader()呼び出しの後に入力されます。

4

1 に答える 1