如何使用函数判断响应是从代理还是终端服务器发送的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?
与此相反,如果我使用InfoLevelas WINHTTP_QUERY_RAW_HEADERS_CRLF,我会得到正确的输出并且bufferSize不是 0,它会在第一次WinHttpQueryHeader()调用后被填充。