将libCurl与Bluecoat cookie代理一起使用



我正试图通过Bluecoat代理进行连接,该代理在代理身份验证过程中使用cookie。

我完全找不到CURLOPT_设置的组合,它将使CURL在代理身份验证期间呈现cookie。

因此:代理响应:

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: NTLM
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Proxy-Connection: close
Set-Cookie: BCSI-CS-EDD688431754D715=2; Path=/
Connection: close
Content-Length: 825

但是,无论我为CURLOPT_COOKIEFILE或CURLOPT_COOKIEJAR设置了什么,curl都不会在随后的身份验证尝试中显示cookie。

注意:我也在使用(因为我必须)

CURLOPT_PROXYTYPE = CURLPROXY_HTTP
CURLOPT_PROXYAUTH = CURLAUTH_ANY
CURLOPT_HTTPPROXYTUNNEL = 1
CURLOPT_CONNECT_ONLY = 1

期望CURL在代理授权请求中提供cookie是否合理?

我正在使用curl_easy_*,移动到多界面会有帮助吗?

最后,我正在使用7.19.7

进行构建

CONNECT请求在代码中与"常规"请求稍微分开,而且似乎没有进行cookie处理!我认为这是一个libcurl错误。

(这是我在上面的评论,变成了一个正确的答案。)

可以通过Blue Coat Proxy创建隧道。但我的建议是不要使用带有Blue Coat Proxy的网络。在一个自由的国家,购买SIM卡并使用移动网络应该不是问题。

更多信息,请访问https://bluecoatproxy.wordpress.com

最新更新