[英]How do I save cookies from a response to a cURL request using php?
我通過PHP使用curl來獲取網址。 我成功地下載了頁面,標題和所有內容。 但是,任何頁面返回的cookie都不會保存到指定的文件中。 我已經檢查了權限等,似乎沒有什么不尋常的。 我開始認為我的代碼中存在某些問題。
$get_cookie_page = 'http://www.google.ca';
echo curl_download($get_cookie_page);
function curl_download($Url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
$http_headers = array(
'Host: www.google.ca',
'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2',
'Accept: */*',
'Accept-Language: en-us,en;q=0.5',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Connection: keep-alive'
);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
任何幫助贊賞。
感謝大家的幫助。 然而,問題完全是另一回事。 我可能應該提到我在Windows服務器上工作,而cURL無法讀取cookie.txt
的路徑。
使用:
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt');
代替:
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
解決了這個問題。
使用cookie jar文件的絕對路徑,以便確定保存的位置,從而確保您擁有在該處寫入的正確權限。
curl將它知道的所有cookie存儲到文件中,包括所謂的會話cookie(沒有到期時間)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.