2014-09-23 99 views
1

如何在身份验证后从curl获取受保护的cookie?验证后从curl获取Secured cookie(C++)

curl_easy_getinfo(curl_handler,CURLINFO_COOKIELIST,& cookies); 只提取了一个cookie,另一个安全的cookie没有被提取。

与 相同curl_easy_setopt(curl_handler,CURLOPT_COOKIEJAR,“cookie.txt”);

但是在java中,我们可以使用cookie管理器进行登录,如果我们迭代了cookie管理器,那么其中有两个“Cookie”和“_WL_AUTHCOOKIE_JSESSIONID”。

在curl中,我无法获取“_WL_AUTHCOOKIE_JSESSIONID”。

任何帮助,将不胜感激。

回答

0

首先,curl应该获得与任何其他HTTP客户端相同的cookie集合。

不幸的是,这是一个应该作为服务器有时行为不同,这取决于它认为它说话的客户端,因此它可能会有不同的响应。另外,由于您正在与另一个客户端进行比较,因此您看到的Java版本可能会执行更多的HTTP请求,从而使其获得第二个Cookie,而您的curl请求不会。

为了最大限度地降低这一切的风险,请确保请求尽可能相似,以便服务器无法发现客户端之间的差异,然后应该以相同方式响应,并且在这两种情况下都会得到相同的cookie集。

当基于curl的客户端获取这两个cookie时,您可以使用CURLINFO_COOKIELIST正确提取它们。