[python] Requestsモジュール使用時に”urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]”となるエラーの解決法

じょるブログ

電子工作やプログラミング関連の情報を発信している技術系ブログ

[python] Requestsモジュール使用時に”urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]”となるエラーの解決法

投稿日:

  

実行環境

python3(jupyter notebook)

 

症状

Requestsライブラリーを使用してGETリクエストやPOSTリクエストを行おうとする際や、pipでモジュールをインストールしようとした際に

<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>

というエラーが表示される。

  

原因

https通信はSSL/TLSを利用することで通信を暗号化してセキュアな通信を行う通信方法であり、このhttps通信を行う際にはサーバーの証明書のチェックが行われる。Requestsモジュールを使用して通信する際、certifiモジュールに記載されている証明書リストをもとにチェックが行われる。Requestsモジュールの古いバージョンでは、certifiモジュールではなく、Requestsモジュール自体に記載されている証明書リストを使用してチェックが行われる。

よって、Requestsモジュールが古いか、certifiモジュールが古いと証明書の認証に失敗し、上記のようなエラーが発生してしまう。

  

対処法

以下のコマンドでcertifiモジュールをアップデートする。

pip install --upgrade pip
pip install --upgrade certifi

上記のコマンドを実行してもエラーが解決しない場合は、以下のコマンドでRequestsモジュールをアップデートする。

pip install --upgrade requests

※python3 の場合はpipではなくpip3コマンドを使用する

※jupyter notebook使用時は、上記のコマンドを実行したらjupyter notebookを再起動する。

   

参考

https://dev.classmethod.jp/articles/how-to-manage-ca-root-certs-for-requets-library/

google ads




google ads




-

執筆者:


comment

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

CAPTCHA


関連記事

ラズパイでスマートロック作ってみた⑤- スプレッドシートをICカードのデータベースとして使用する

    大学生の電子工作 ラズパイでスマートロック作ってみたの記事の⑤つ目の記事です。今回は、前回追加したICカードで鍵を開ける機能のアップデートを行いました。 具体的には、今までラズパイのプログラム …

ubuntu18.04でwordpressをapache2で動作させるまで

    今までは研究室内の各種引継ぎ情報や機密情報などは研究室専用のWiki(Seesaa Wiki )に記載して共有していたのですが、機密情報を外部サービスに公開するのはあまり良くないと以前から話題 …

大学生の一人暮らしを楽しくする!おすすめ家電・家具5選

この記事では家に帰るのが楽しくなる、一人暮らしを始めた大学生におすすめの家電を5つ紹介します!   1. プロジェクター まずおすすめしたいのがプロジェクターです! 僕は映画鑑賞が趣味なので …

google仕事検索(Googe for job)に求人情報を載せる方法 – indexing APIの設定についても解説

  google仕事検索に求人情報を載せるまでの流れ 求人情報の構造化データをウェブページに追加 作成した構造化データが正しいかどうかテスト Googleに情報提供      ①求人情報の構造化データ …

電子工作 ラズパイで玄関モニター(兼防犯カメラ)作ってみた

今回は前回のスマートリモコンに続き、2回目のIoTデバイス制作です。玄関モニター兼防犯カメラを作ってみました。作成難易度はスマートリモコンよりも簡単ですので皆さんも是非作ってみてください! 玄関モニタ …




関連記事