Python リクエスト API 呼び出しの「403 Forbidden」エラーのトラブルシューティング
Python のリクエスト モジュールを使用して Web サイトからデータを抽出しようとすると、 「403 Forbidden」エラーが発生することはまれです。このエラーは、サーバーがアクセス制限によりリクエストの実行を拒否していることを示します。
次のコード スニペットを検討してください:
<code class="python">import requests url = 'http://worldagnetwork.com/' result = requests.get(url) print(result.content.decode())</code>
このコードを実行すると、次のエラーが返される可能性があります:
<html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html>
この場合の問題は、Web サイトが適切な User-Agent ヘッダーのない GET リクエストを拒否するという事実から発生します。ブラウザ (Chrome など) でページにアクセスし、ネットワーク トラフィックを検査することで、ブラウザで使用されている 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 サイトの HTML コンテンツの解析に成功するはずです。
以上がPython リクエスト API 呼び出しを行うときに「403 Forbidden」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。