0

このコードは、Google、YouTube、Facebook などのほとんどの Web サイトで機能しますが、technorati などの一部の Web サイトでは機能しません。

<?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 要求が失敗しました! HTTP/1.1 403 行 3 の /opt/lampp/htdocs/test/simple.php で禁止されています

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

テクノラティの favicon をダウンロードするにはどうすればよいですか?

4

2 に答える 2

0

ブラウザを模倣し、ユーザーエージェントをtechnorati.comが好むものに設定してみてください:)

ini_set('user_agent', 'Name of your bot');
于 2012-04-25T09:14:44.153 に答える
0

FiddlerやWiresharkなどを使用して、リクエストを発行するとどうなるかを見てみましょう。

私の推測では、Technorati Webサーバーは自動化された要求を拒否するように構成されており、クローラーが送信するユーザーエージェントを使用して検出する可能性があります。

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

于 2012-04-25T09:18:41.547 に答える