繁体   English   中英

下载页面而不下载图像文件或css或javascript与curl

[英]downloading a page without downloading image files or css or javascript with curl

每当我使用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文件

PHP的curl只取你告诉它的内容。 它不会解析html以查找javascript / css <link>标记和<img>标记,并且不会自动获取它们。

如果你有curl下载这些资源,那么它就是你的代码告诉它这样做了,由你来决定要获取什么和什么不是。 Curl只做你告诉它的事情。

你可以通过使用避免下载

echo htmlentities($content);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM