ホームページ  >  記事  >  バックエンド開発  >  Python リクエスト API 呼び出しを行うときに「403 Forbidden」エラーが発生するのはなぜですか?

Python リクエスト API 呼び出しを行うときに「403 Forbidden」エラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 03:19:30580ブラウズ

Why Am I Getting a

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。