2011-06-17 5 views
0

curl(php)を使用してページをダウンロードするたびに、images, css files or javascript filesのようなページにすべてがダウンロードされます。しかし、時々私はこれらをダウンロードしたくない。私はカールを通してダウンロードするリソースを制御できますか?私はマニュアルを通過したが、私はこれを行うことができるオプションが見つかりませんでしたか?しないでください全体のページを取得し、いくつかのregexの魔法を使用しているので、まだページをダウンロードし、読み込み時間を増やすことをお勧めします。 これは、私はそれがあまりにも画像を示すコンテンツをエコーするとき、私はmozilla.com画像ファイルをダウンロードせずにページをダウンロードするかCSSまたはJavaScriptをカールで

<?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

を使用して、ダウンロードを避けることができますか? –

+0

インラインcss/jsではなく、外部css/jsファイルを意味するなら、cURLはこれを行うべきではありません。現時点で使用しているコードを表示できますか? – Jeroen

+3

ブラウザで表示しています...なぜBROWSERが外部リソースを取得しているのだろうか? CurlはHTMLだけを取り出しました。それはあなたのブラウザは、画像とCSSとJSをやっている。 –

答えて

1

PHPのカールはあなたがそれを伝えるものだけを取り出す。 javascript/css <link>タグと<img>タグを探すためにhtmlを解析せず、自動的にそれらを取得しません。

これらのリソースをダウンロードしている場合は、それを指示するコードがあります。フェッチするものとしないものを決めるのはあなた次第です。カールは、あなたが言うことだけを行います。

+0

+1だから私は彼のコードを尋ねた: –

+0

@ KARASZIIstván:コードを提供する。いくつかのネットワーク上の問題があったため、私は自分の投稿を編集できませんでした – lovesh

1

あなたは私たちにいくつかのコードを提供することができ

echo htmlentities($content); 
関連する問題