2014-01-20 126 views
0

好吧,我有一個phpcurl腳本,抓取cookie並向我顯示一個頁面,我將在後面發佈這些內容。php curl jsessionid如何保存並使用保存會話ID和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文件,我得到這個上的捲曲至極的outut會話ID匹配頭,並保存在cookie文件。

<p>This document you requested has moved temporarily.</p> <p>http://www.example.com/stats.po&#59;JSESSIONID_oschA=GQ4ySdFRyqjk12hj45GM4c6LG0KRj8f4pzvD3YSvrql9BwdGgNyn!-1634352464">https://www.example.com/stats.po&#59;JSESSIONID_oschA=GQ4ySdFRyqjk12hj45GM4c6LG0KRj8f4pzvD3YSvrql9BwdGgNyn!-1634352464</a>.</p> 

我怎麼能現在後藤輸出給我的jsession URL鏈接,而仍然使用相同的cookie ECT ECT

+0

您是否嘗試製作另一個捲曲請求? – Jompper

+0

這就是我想問的問題如何使用捲髮再次發送請求,同時仍然傳遞相同的數據我對所有這些都是新的,只需要一個幫助的手它花了我一段時間來到這裏:) – user3216226

回答

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"); 
?> 
+0

好的兄弟我可以看到這只是一件小事情是有辦法我可以解析給我的第一個請求的URL第二次捲曲操作的會話ID – user3216226

+0

我剛剛嘗試過這不會工作,因爲它創建一個新的會話ID每個時間我做一個捲曲reqesuest – user3216226

+0

你確定cookie保存在Cookies.txt中 – Jompper

1

我不確定,但我認爲如果您在CURLOPT_COOKIESESSION設置爲1時發出第一個捲曲請求,則n在第二個請求中刪除該選項,您應該很好。我不是這方面的專家,但CURLOPT_COOKIESESSION的文檔似乎與您所描述的症狀相符。