ホームページ  >  記事  >  バックエンド開発  >  Python リクエストで SSL 証明書チェックを無効にする方法

Python リクエストで SSL 証明書チェックを無効にする方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 13:23:291024ブラウズ

How to Disable SSL Certificate Checks in Python Requests?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。