大多数 php/curl 示例建议创建curl cookie,我正在使用它来抓取网络。 这是脚本 http://www.php.net/manual/en/ref.curl.php#93163以下是相关摘录:
$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 中注意到 php 创建了 3 GB 的curl cookie 文件。
我的印象是它会自动清除,是否可以从 php/curl 执行此操作?
最佳答案
首先必须unset
,然后$ch,然后您应该调用@unlink
命令。
关于PHP/ curl : delete cookie created with CURLOPT_COOKIEJAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8474659/