我有一些cookie麻烦。他们似乎并没有像应该设置的那样,而且我还无法弄清楚为什么。该url加载url的详细信息,然后设置cookie,然后将其重定向回主站点。这是我正在使用的php代码
$cookie_file_path = 'cookie-path.txt';
// open a site with cookies
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.stuller.com/s/user');
curl_setopt($ch, CURLOPT_HEADER ,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER ,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION ,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); // Cookie management.
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
$content = curl_exec($ch);
// get cookies
$cookies = array();
preg_match_all('/Set-Cookie:(?<cookie>\s{0,}.*)$/im', $content, $cookies);
echo "<pre>";
print_r($cookies['cookie']); // show harvested cookies
echo "</pre>";
exit;
当我回显cookie时,这就是我看到的:
Array(
[0] => cart_session_id=365ad5b7-9ece-4255-aa68-3590d8841c17; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[1] => CartRefresh=5/19/2014 2:05:46 PM; expires=Tue, 20-May-2014 07:05:46 GMT; path=/
[2] => ASP.NET_SessionId=yyloxijj2mke1ozxwg203mxh; path=/; HttpOnly
[3] => user_session_id=27c284ec-c5da-4c79-b860-f7bce9efac78; path=/
[4] => cms#51642=12719; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[5] => cms#51772=152; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[6] => cms#52083=13824; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[7] => cms#52113=32; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[8] => cms#52229=50; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
[9] => cms#52237=59; expires=Tue, 19-May-2015 19:05:46 GMT; path=/
}
但是在我的Cookie文件中,似乎所有内容都是错误的,没有设置任何内容:
www.stuller.com FALSE / FALSE 1432062346 cart_session_id 365ad5b7-9ece-4255-aa68-3590d8841c17
www.stuller.com FALSE / FALSE 1400569546 CartRefresh 5/19/2014 2:05:46 PM
#HttpOnly_www.stuller.com FALSE / FALSE 0 ASP.NET_SessionId yyloxijj2mke1ozxwg203mxh
www.stuller.com FALSE / FALSE 0 user_session_id 27c284ec-c5da-4c79-b860-f7bce9efac78
www.stuller.com FALSE / FALSE 1432062346 cms#51642 12719
www.stuller.com FALSE / FALSE 1432062346 cms#51772 152
www.stuller.com FALSE / FALSE 1432062346 cms#52083 13824
www.stuller.com FALSE / FALSE 1432062346 cms#52113 32
www.stuller.com FALSE / FALSE 1432062346 cms#52229 50
www.stuller.com FALSE / FALSE 1432062346 cms#52237 59
我做错了什么,为什么它们设置不正确?而且,由于将发生约4到5跳,我如何读取这些cookie以用于下一个curl方法?
谢谢
当您要发送Cookie时,请使用该CURLOPT_COOKIEFILE
选项。
当您想要接收cookie并保存它们时,请使用该CURLOPT_COOKIEJAR
选项。
如果要发送以前保存的cookie,并通过服务器进行的任何更改来更新文件,请同时使用这两个选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句