Python のリクエスト ライブラリを使用して Web サイトを解析しようとすると、「403 Forbidden」エラーが発生する場合があります。このエラーは通常、適切な承認または許可がないためにサーバーがリクエストを拒否したことを示します。
次のコードを考えてみましょう:
<code class="python">url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode())</code>
このコード指定された URL のコンテンツを取得してデコードしようとします。ただし、次の出力が生成されます。
<code class="html"><html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html></code>
この特定のケースでは、サーバーが User-Agent ヘッダーのない GET リクエストを拒否しているために問題が発生します。 User-Agent ヘッダーは、リクエストを送信するブラウザまたはアプリケーションを識別し、サーバーがリクエストを処理する方法を決定するのに役立ちます。
この問題を解決するには、User-Agent ヘッダーを明示的に指定します。あなたのリクエストリクエストに。以下に例を示します。
<code class="python">import requests url = 'http://worldagnetwork.com/' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} result = requests.get(url, headers=headers) print(result.content.decode())</code>
User-Agent ヘッダーを適切な値に設定すると、次の出力に示すように、ブラウザを効果的に模倣して Web サイトのコンテンツを正常に取得できます。
<code class="html"><!doctype html> <!--[...]--> <!--[...]--></code>
以上がPython リクエストの「403 Forbidden」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。