忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/05    04« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  »06

Advanced Usage — urllib3 1.24.1 documentation > SSL Warnings

Python を使っていたら次のように怒られた。

SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

割とよくあるエラーらしく。リンク先を日本語にしてみる。


SSL 関係の警告

SSL 証明書を検証する際、その検証方法に応じていくつかの警告を urllib3 は発します。各渓谷はそれぞれ異なる状況によって発され、それぞれの手段で解決が可能です。

InsecureRequestWarning

HTTPS で接続する URL にリクエストを送る際に証明書の検証を行わない設定になっていると発生します。Certificate verification を参考にこの問題を解決してください。

InsecurePlatformWarning

もはや古いものとなった SSL モジュールを用いている Python2 を使っている場合に発生します。そういった古い SSL モジュールは失敗すべき安全ではないリクエストの送信を成功させたり、成功すべき安全なリクエストの送信を失敗させたりします。Certificate verification in Python 2 を参考にこの問題を解決してください。

SNIMissingWarning

2.7.9 未満の Python2 を利用している場合に発生します。古い Python2 は SNI をサポートしていません。そのため、クライアントはサーバから共有された有効な証明書を無効なものと判断することがあります。Certificate verification in Python 2 を参考にこの問題を解決してください。

検証されない HTTPS リクエストを送ることは まったくもって お勧めできません。しかしながら、そのリスクを理解したうえでこれらの警告を無視するには、disable_warnings() が利用できます。

>>> import urllib3
>>> urllib3.disable_warnings()

抑制した警告は標準の logging module で取得することが可能です。

>>> logging.captureWarnings(True)

また、環境変数をPYTHONWARNINGS を用いたり、-W フラグ を用いることでも警告の抑制が可能です。

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R