file_get_contents 使用時の 403 Forbidden エラーのトラブルシューティング方法

Linda Hamilton
リリース: 2024-10-27 02:38:30
オリジナル
462 人が閲覧しました

How to Troubleshoot a 403 Forbidden Error When Using file_get_contents?

file_get_contents での 403 Forbidden エラーのトラブルシューティング

file_get_contents を使用して Web コンテンツを取得中に 403 Forbidden エラーが発生した場合は、デバッグと特定が重要です。

考えられる解決策

PHP にはいくつかのデバッグ メカニズムが用意されています。

  • $http_response_header 変数:各 file_get_contents 呼び出しでは、この変数には HTTP 応答ヘッダーが含まれます。これらのヘッダーを検査すると、403 エラーが発生した理由が明らかになります。
  • ignore_errors コンテキスト オプション: このオプションを true に設定すると、エラー メッセージや禁止された理由を含む実際の応答を取得できます。 access.

一般的な原因

実際的な観点から見ると、403 エラーは、リクエスト内の HTTP ヘッダーが欠落しているか正しくないことが原因で発生することがよくあります。一般的な HTTP ヘッダーの一部を次に示します。

  • Referer: リクエストの発信元を示します。
  • User-Agent: を識別します。リクエストを行うブラウザまたはデバイス。

実装例

有効なユーザー エージェントをシミュレートして問題をトラブルシューティングするには、次のコードを使用します。

<code class="php"><?php

$context = stream_context_create(array(
    "http" => array(
        "header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
    )
));

echo file_get_contents("www.google.com", false, $context);

?></code>
ログイン後にコピー

このコードはユーザー エージェントになりすまして、https://google.com.

References

  • [stream_context_create]( https://www.php.net/manual/en/function.stream-context-create.php)

以上がfile_get_contents 使用時の 403 Forbidden エラーのトラブルシューティング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート