首頁  >  文章  >  後端開發  >  如何在 Python 請求中停用 SSL 憑證檢查?

如何在 Python 請求中停用 SSL 憑證檢查?

Linda Hamilton
Linda Hamilton原創
2024-10-26 13:23:29956瀏覽

How to Disable SSL Certificate Checks in Python Requests?

在Python 請求中禁用安全證書檢查

為了防止在使用Python 的requests 庫時訪問證書過期的網站時出現SSL 錯誤,驗證標誌可以設定為False。預設情況下,請求會驗證伺服器的 SSL 憑證以確保安全連接,但此驗證可以被繞過。

要停用憑證驗證,只需將verify=False 作為參數傳遞給post 方法:

<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>

注意事項

請記住,停用憑證驗證會削弱應用程式的安全性。建議僅在訪問您信任的網站或在安全性不是主要問題的受控環境中時才這樣做。

以上是如何在 Python 請求中停用 SSL 憑證檢查?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn