Python

【Python】requestで403エラーが出るときの原因

投稿日:2021年9月6日 更新日:

概要

pythonのrequestモジュールを使ってhttpリクエストした際に403エラーに遭遇することがあります。

import requests
r = requests.get('<url>')
print(r.status_code)
 > 403

このような場合のあるあるを書きます。

ID/PASS間違い

postメソッドで認証情報を渡す場合などにID, PWを間違えており、403で返ってきたことがありました。

request.post('http://<url>', data={'id':'id', 'pw':'pw'})

 

URL間違い

あるわけないと思いますが良くあります。特にURLがレスポンスを返してくれるところまで書いてない場合など。

“api”まで含めないとレスポンス返してもらえない場合

×   http://urltesttesttest.com
〇  http://urltesttesttest.com /api

 

ドメインの外にいる端末から一生懸命リクエスト送っている場合など。名前解決できない場合などはIP直打ちする必要あり。

名前解決できない場合

 × request.post('http://domainserver01.com')
 〇  request.post('http://192.168.1.1') 

 

プロキシがうまく設定できていない

プロキシを介してインターネットへリクエストする場合はプロキシを明示的に指定しておくのが安心です。

proxies = {
"http":"http://httpproxy***.com",
"https":"https://httpproxy***.com"
}
request.get('http://<url>', proxy = proxies)

 

プロキシが邪魔してくる

逆にインターネットに出ていかずにLAN内のサーバーにアクセスしたい場合にはプロキシを明示的に無効化しておくのがいいです。

proxies = {
"http":None,
"https":None
}
request.get('http://<url>', proxy = proxies)

まとめ

requestメソッドはネットワークもトラブルシューティングの範囲に入ってくるのでハマるときはハマります。一回遭遇した事象はしっかり覚えておきたいです。

 

参考とさせて頂いたサイト

https://qiita.com/koharite/items/731fcf5146c7b0c4e800

https://www.it-mure.jp.net/ja/python/%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%EF%BC%9A%E3%83%97%E3%83%AD%E3%82%AD%E3%82%B7%E3%82%92%E7%84%A1%E5%8A%B9%E5%8C%96%E3%83%90%E3%82%A4%E3%83%91%E3%82%B9%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/1051194927/

Pythonに関する書籍

-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Python scikit-learnのImportError

Anaconda3でscikit-learnのdatasetsのimport時にエラーが出たため、対処法についてメモ Contents1 環境2 エラー3 対処 環境 ①OSWindows10 ②An …

Python dataframeからMySQLにinsertする

Contents1 目的2 環境3 Step1 : 挿入先テーブル用意4 Step2 : 挿入用データ準備5 Step3 : MySQLへの挿入6 補足 目的 pythonのdataframeはデータ …

Spyderのバージョンアップ手順(非Anaconda環境)

Contents1 概要2 環境3 Step1:最新バージョンの確認4 Step2:インストーラのダウンロード5 Step3:インストール6 Step4 : 起動確認7 Step5:spyder-ke …

【Python】で調和平均と絶対平均計算

Contents1 目的2 調和平均3 絶対平均 目的 前回、一般的に平均として使われる算術平均に加え、○○率の平均などの計算に向いている幾何平均の定義と計算方法について勉強しました。 今回は、さらに …

【Python】ベイズの定理を実際に試行して確認

Contents1 ベイズの定理とは2 具体的な問題3 Pythonで実際に確認 ベイズの定理とは ある事象について、その原因となる候補(互いに独立)がいくつかあり、それぞれの原因は発生確率を持ってい …

言語切り替え

カテゴリー