如何使用函数判断响应是从代理还是终端服务器发送的WinHttpQueryHeader()
?我尝试将WINHTTP_QUERY_PROXY_AUTHENTICATE
其用作dwInfoLevel
函数的参数,winHttpQueryHeader()
但我得到的缓冲区为 NULL。
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
所以第二个WinHttpQueryHeader
没有填充lpOutBuffer
(因为bufferSize
是 0)。为什么bufferSize
返回为0?
与此相反,如果我使用InfoLevel
as WINHTTP_QUERY_RAW_HEADERS_CRLF
,我会得到正确的输出并且bufferSize
不是 0,它会在第一次WinHttpQueryHeader()
调用后被填充。