我正在尝试通过在代理身份验证期间使用 cookie 的 Bluecoat 代理进行连接。
我一直无法找到 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 错误。
(这是我从上面的评论,变成了正确的答案。)
关于cookies - 将 libCurl 与 Bluecoat cookie 代理一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10017165/