2012-04-25 9 views
0

このコードはなどグーグル、ユーチューブ、フェイスブック、などのほとんどのウェブサイトのために動作しますが、それはTechnoratiのようないくつかのウェブサイトのために動作しません:このファイルはどのようにダウンロードできますか?

<?php 
$favicon="http://technorati.com/favicon.ico"; 
$content = file_get_contents($favicon); 
file_put_contents('favicon/icon.ico', $content); 

echo "<img src=\"http://localhost/test/favicon/icon.ico\" />"; 

?> 

//出力:

警告:のfile_get_contents(http://technorati.com/favicon.ico ) [function.file-get-contents]:ストリームを開くことに失敗しました:HTTP要求 が失敗しました!私はTechnoratiのファビコンをダウンロードすることができますどのようにHTTP/1.1 ライン上/opt/lampp/htdocs/test/simple.phpで禁じ403 3

http://localhost/test/favicon/icon.ico

+1

これは手作業で行うことができます – Alp

+1

Alpの解決策は間違いなく最も少ないコードです。少ないコード==より少ない頭痛。 – Jon

+0

明らかに、私はそれをPHPで行う必要があります:) – xRobot

答えて

0

は、例えばバイオリンやWiresharkのを使用して、あなたがリクエストを発行したときに何が起こるかを見てみましょう。

私の推測では、Technorati Webサーバーは自動化されたリクエストを拒否するように設定されていると思いますが、これはおそらくクローラが送信するユーザーエージェントを使用して検出します。

cURLを使用すると、ユーザーエージェントを変更できます。

0

はtechnorati.comが好きになる何かにブラウザや設定ユーザーエージェントを模倣するようにしてください:)

ini_set('user_agent', 'Name of your bot'); 
関連する問題