Python リクエストでのセキュリティ証明書チェックの無効化
Python のリクエスト ライブラリの使用中に期限切れの証明書を持つ Web サイトにアクセスする際の SSL エラーを防ぐには、verify フラグを使用します。 False に設定できます。デフォルトでは、リクエストは安全な接続を確保するためにサーバーの SSL 証明書を検証しますが、この検証はバイパスできます。
証明書の検証を無効にするには、post メソッドの引数として verify=False を渡すだけです。
<code class="python">import requests requests.post(url='https://foo.example', data={'bar':'baz'}, verify=False)</code>
永続的な無効化のためのコンテキスト マネージャーの使用
すべてのリクエストに対して証明書検証を永続的に無効にする必要がある場合は、コンテキスト マネージャーを使用できます:
<code class="python">import requests from urllib3.exceptions import InsecureRequestWarning import contextlib @contextlib.contextmanager def no_ssl_verification(): warnings.simplefilter('ignore', InsecureRequestWarning) old_settings = requests.Session.merge_environment_settings requests.Session.merge_environment_settings = lambda *args, **kwargs: (dict(args[5] or {}), False) try: yield finally: requests.Session.merge_environment_settings = old_settings with no_ssl_verification(): requests.get('https://wrong.host.badssl.example/')</code>
考慮事項
証明書の検証を無効にすると、アプリケーションのセキュリティが弱くなることに注意してください。信頼できる Web サイトにアクセスする場合、またはセキュリティが最大の懸念事項ではない管理された環境にアクセスする場合にのみ、これを行うことをお勧めします。
以上がPython リクエストで SSL 証明書チェックを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。