【发布时间】:2015-03-13 12:16:09
【问题描述】:
我正在尝试使用 WinINet 通过代理连接到 HTTPS 服务。我的代码如下所示:
hInternet = InternetOpenW(L"Test", INTERNET_OPEN_TYPE_PROXY,L"PROXY_IP:PROXY_PORT", L"<local>", 0);
if (hInternet == NULL)
{
printf("InternetOpenW failed! Error code: %d\n", GetLastError());
}
else
{
HINTERNET hConnect = InternetConnectW(hInternet, L"HTTPS_SERVICE_IP", 443, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0);
if (hConnect == NULL)
{
printf("InternetConnectW failed! Error code: %d\n", GetLastError());
}
else
{
HINTERNET hRequest = HttpOpenRequestW(hConnect, NULL, L"", NULL, NULL, NULL, 0, 0);
if (hRequest == NULL)
{
printf("HttpOpenRequestW failed! Error code: %d\n", GetLastError());
}
else
{
BOOL bRequestSent = HttpSendRequestW(hRequest, NULL, 0, NULL, 0);
if (!bRequestSent)
{
printf("HttpSendRequestW failed! Error code: %d\n", GetLastError());
}
else
{
printf("Connection ok!\n");
}
InternetCloseHandle(hRequest);
}
InternetCloseHandle(hConnect);
}
InternetCloseHandle(hInternet);
}
向代理发送GET请求,进行ntml认证,但连接失败。代理期望客户端发送 CONNECT 请求。如何使用该代码发送 CONNECT 方法?
【问题讨论】: