大多數php/curl示例都建議創建捲曲cookie,而我正在使用它來抓取網頁。 這裏是腳本http://www.php.net/manual/en/ref.curl.php#93163,這裏是相關的摘錄:php/curl:刪除使用CURLOPT_COOKIEJAR創建的cookie
$url = str_replace("&", "&", urldecode(trim($url)));
$cookie = tempnam ("/tmp", "CURLCOOKIE");
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); # required for https urls
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
$content = curl_exec($ch);
$response = curl_getinfo($ch);
curl_close ($ch);
現在我注意到在/ tmp目錄3 GB的由PHP創建捲曲的cookie文件。
我以爲這是自動清除的印象,有可能做到這一點從PHP /捲曲?
我有這個完全相同的問題,並發現我無法取消鏈接文件。經過一番實驗後,我發現在調用unlink()刪除cookie jar文件之前,必須調用curl_close($ ch)。也許未設置($ ch)導致捲曲手柄也被關閉? – Josh
@Josh感謝這個命令:curl_close($ ch) – vuhung3990