好的,所以我在下面有一个phpcurl脚本抓取cookie并向我显示一个页面,我将在下面发布这些。
<?php
$url = 'http://www.example.com/stats.po';
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
echo $result;
?>
这个脚本正确保存了cookie文件,我在curl的外观上得到了这个,它与标题中的会话ID匹配并保存在cookie文件中。
<p>This document you requested has moved temporarily.</p> <p>http://www.example.com/stats.po;JSESSIONID_oschA=GQ4ySdFRyqjk12hj45GM4c6LG0KRj8f4pzvD3YSvrql9BwdGgNyn!-1634352464">https://www.example.com/stats.po;JSESSIONID_oschA=GQ4ySdFRyqjk12hj45GM4c6LG0KRj8f4pzvD3YSvrql9BwdGgNyn!-1634352464</a>.</p>
我现在如何转到输出中给出的jsession url链接,同时仍然使用相同的cookie等
答案 0 :(得分:1)
我不确定,但我认为如果你在CURLOPT_COOKIESESSION设置为1时发出第一个curl请求,那么在第二个请求中删除该选项应该是好的。我不是这方面的专家,但CURLOPT_COOKIESESSION的文档似乎与您描述的症状相符。
答案 1 :(得分:0)
这两个请求仍应使用相同的Cookie
<?php
function mycurl($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
return $result;
}
echo mycurl("http://www.example.com/stats.po");
echo mycurl("http://www.example.com/stats2.po");
?>