Okarin note

頭の整理もかねて色々と書いていきます

Insecure Request Warningを解消する

 最近Pythonのお勉強を始めたので、
Webスクレイピングに手を出したんですけど…

 

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.

See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warningsInsecureRequestWarning


こんな警告が実行時に出てきました。
ずっと出てるのが気持ち悪かったので消してみようと思った次第です。



メッセージを読んでみると未確認のHTTPSリクエストが行われているとのことで証明書検証を追加してねとのこと。

 

urllib3は特に指定がない限りデフォルトのシステム証明書ストアをロードしようとするらしいです。


公式の資料いわく信頼できるクロスプラットフォームの方法は、Mozillaルート証明書バンドルを提供するcertifiパッケージを使用することと記載があるのでそれを使って実装します。


実装方法

certifiのインストールをしましょう(すでにインストール済みなら飛ばしてください)

pip install certifi


最初の実装

>>> import urllib3
>>> http = urllib3.PoolManager()


修正後の実装

>>> import certifi
>>> import urllib3
>>> http = urllib3.PoolManager(
... cert_reqs='CERT_REQUIRED',
... ca_certs=certifi.where())


これで消えました。


無事に出来て良かったです。
わからない事はコツコツと解消していきたいですね。

今回はこれで以上となります。