Php 下载页面而不下载图像文件或css或带有curl的javascript

Php 下载页面而不下载图像文件或css或带有curl的javascript,php,curl,Php,Curl,每当我使用curl(php)下载页面时,它会下载页面上的所有内容,如图像、css文件或javascript文件。但有时我不想下载这些。我可以控制通过curl下载的资源吗。我已经阅读了手册,但我还没有找到一个可以实现这一点的选项?请不要建议获取整个页面,然后使用一些regexmagic,因为这仍然会下载页面并增加加载时间。 这是一个演示代码,我从mozilla.com <?php $url="http://www.mozilla.com/en-US/firefox/new/"; $userA

每当我使用
curl(php)
下载页面时,它会下载页面上的所有内容,如
图像、css文件或javascript文件
。但有时我不想下载这些。我可以控制通过curl下载的资源吗。我已经阅读了手册,但我还没有找到一个可以实现这一点的选项?请不要建议获取整个页面,然后使用一些
regex
magic,因为这仍然会下载页面并增加加载时间。 这是一个演示代码,我从
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的网络标签中看到图像和外部js文件正在被下载

PHP的curl只获取你告诉它的内容。它不会解析html来查找javascript/css
标记和
标记,也不会自动获取它们


如果您必须下载这些资源,那么是您的代码告诉它这样做,并且由您决定获取什么和不获取什么。Curl只执行您告诉它的操作。

您可以使用

echo htmlentities($content);

你能给我们提供一些代码吗?如果你是指外部css/js文件,而不是内联css/js,cURL不应该这样做。你能给我们看一下你目前使用的代码吗?你正在浏览器中查看。。。你想知道为什么浏览器会获取外部资源?Curl只获取了HTML。图像、css和js都是由你的浏览器来完成的。@Marc B:我明白你的意思,但我怎么才能知道用curl下载的是什么?curl只下载html,然后输出到你的浏览器。然后,您的浏览器将下载页面中提到的所有其他内容。尝试用
标题('Content-type:text/plain')
输出您卷曲的内容,这样浏览器就不会解析它。@KARASZI István:提供代码。由于网络问题,我无法编辑我的帖子