0

SSL サーバーに接続するとエラーが発生します:

エラー:14090086:SSL ルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました

この方法を使用して、サーバーに接続するためにこのurllib3 pythonライブラリを使用しています:

urllib3.connectionpool.connection_from_url(['remote_server_url'], maxsize=2)

SSL 検証を無視するにはどうすればよいですか? または、これを行うための別のステップはありますか?

ありがとう。

4

2 に答える 2

1

ConnectionClsConnectionPool インスタンスの静的プロパティをオーバーライドすることで、urllib3 に未検証の HTTPSConnection オブジェクトを強制的に使用させることができるはずです。例えば:

from urllib3.connection import UnverifiedHTTPSConnection
from urllib3.connectionpool import connection_from_url

# Get a ConnectionPool object, same as what you're doing in your question
http = connection_from_url(remote_server_url, maxsize=2)

# Override the connection class to force the unverified HTTPSConnection class
http.ConnectionCls = UnverifiedHTTPSConnection

# Make requests as normal...
r = http.request(...)

追加の参照として、同様のオーバーライドを行ういくつかのテストを確認できます。

これを行う方法と時期に関するドキュメントを改善するためにイシューをオープンしました。貢献したい場合は、いつでもプル リクエストをお待ちしております。:)

于 2014-06-10T19:40:09.647 に答える
0

役立つ証明書ライブラリをインストールすることもできます

pip install certifi
于 2016-12-21T14:58:55.417 に答える