Pythonでrequests.exceptions.InvalidSchema: No connection adapters were found for ”

今回はPythonのrequestsモジュールを使用しているときに「requests.exceptions.InvalidSchema: No connection adapters were found for ”」というエラーが起きたときの対処法についてご紹介いたします。



Pythonでrequests.exceptions.InvalidSchema: No connection adapters were found for ”

Pythonでrequestsモジュールを使用してAPIを呼び出そうとしたときのことです。

表題のエラーが出てしまいました。

実は直し方は簡単です。
このエラーはrequestsに渡すURL「http://」もしくは「https://」がないことが原因です。

私はrequestsモジュールを使用したときに、次のようなソースコードを書いていました。
URLに注目です。

上記のサンプルの場合、例として次のURLに対してrequestのpostを渡すことになります。
localhost/admin/account/user/testurl

上記のURLには「http://」または「https://」がありません。
「http://」または「https://」がないと、URLにアクセスする際に「http://」か「https://」どっちにアクセスすれば良いのか分からなくなってしまうのです。
これがエラーが出る原因ですね。

上記のサンプルコードであれば、下記のように直しましょう。

これで
http://localhost/admin/account/user/testurl
をrequestsに渡すことになり、エラーが消えるはずです。

終わりに

今回はPythonのrequestsモジュールを使用しているときに「requests.exceptions.InvalidSchema: No connection adapters were found for ”」というエラーが起きたときの対処法についてご紹介いたしました。

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Python

Posted by ちこ