загрузка страницы без загрузки файлов изображений, CSS или Javascript с помощью curl - PullRequest
0 голосов
/ 17 июня 2011

Всякий раз, когда я использую 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 файлы

Ответы [ 2 ]

1 голос
/ 17 июня 2011

вы можете избежать загрузки, используя

echo htmlentities($content);
1 голос
/ 17 июня 2011

PHP curl выбирает только то, что вы говорите.Он не анализирует html для поиска тегов javascript / css <link> и <img> и не получает их автоматически.

Если вы загружаете эти ресурсы с помощью curl, то ваш код говорит вам об этом, и вам решать, что выбрать, а что нет.Керл делает только то, что вы говорите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...