每当我使用curl(php)
下载页面时,它会下载页面上的所有内容,例如images, css files or javascript files
。但有时我不想下载这些。我可以控制通过curl下载的资源。我已经阅读了手册,但我还没有找到可以实现这一目标的选项?请不要建议获取整个页面,然后使用一些regex
魔法,因为这仍然会下载页面并增加加载时间。
这是一个演示代码,我从mozilla.com
<?php
$url="http://www.mozilla.com/en-US/firefox/new/";
$userAgent="Mozilla/5.0 (Windows NT 5.1; rv:2.0)Gecko/20100101 Firefox/4.0";
//$accept="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$encoding="gzip, deflate";
$header['lang']="en-us,en;q=0.5";
$header['charset']="ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header['conn']="keep-alive";
$header['keep-alive']=115;
$ch=curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,$userAgent);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_ENCODING,$encoding);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_AUTOREFERER,1);
$content=curl_exec($ch);
curl_close($ch);
echo $content;
?>
当我回复内容时,它也会显示图像。我在firebug's network tab
中看到图片和external js
文件正在下载
答案 0 :(得分:1)
PHP的curl只取你告诉它的内容。它不会解析html以查找javascript / css <link>
标记和<img>
标记,也不会自动获取它们。
如果你有curl下载这些资源,那么你的代码告诉它这样做,由你来决定要取什么和不要取什么。 Curl只做你告诉它的事情。
答案 1 :(得分:1)
您可以使用
来避免下载echo htmlentities($content);