我正试图通过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