[英]php curl jsessionid how to save and use save session id and cookie
好的,所以我下面有一個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文件,我在卷曲的結果上得到了它,它與會話標頭中的會話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>
現在如何在仍使用相同Cookie的情況下轉到輸出中給我的jsession URL鏈接
我不確定,但是我認為如果您將CURLOPT_COOKIESESSION設置為1時發出第一個curl請求,那么在第二個請求中刪除該選項應該就不錯了。 我不是該主題的專家,但是CURLOPT_COOKIESESSION的文檔似乎與您所描述的症狀匹配。
這對於兩個請求仍應使用相同的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");
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.