5

関数 file_get_contents を使用して Web ページからコンテンツを取得しています。一部の Web サイトは正常に機能していますが、ほとんどの Web サイトでこのエラーが発生します

failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable

これが私の簡単なコードです

echo file_get_contents("url");

この URL をブラウザで実行すると正常に動作します。何が問題なのですか?

4

2 に答える 2

6

503 は、機能が動作しており、リモート サーバーから拒否の応答を得ていることを意味します。Google の結果を cURL しようとした場合、同じことが起こります。これは、file_get_contents と cURL で使用されるユーザー エージェントを検出し、その結果、それらのユーザー エージェントをブロックできるためです。また、アクセスしているサーバーの IP アドレスが、そのような慣行のためにブラックボール化されている可能性もあります。

コマンドがリモート環境でブラウザーのように機能しない主な 3 つの一般的な理由。

1) The default USER-AGENT has been blocked.
2) Your server's IP block has been blocked.
3) Remote host has a proxy detection. 
于 2013-06-12T09:20:35.630 に答える