Heim  >  Artikel  >  Backend-Entwicklung  >  Wie deaktiviere ich SSL-Zertifikatprüfungen in Python-Anfragen?

Wie deaktiviere ich SSL-Zertifikatprüfungen in Python-Anfragen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 13:23:29956Durchsuche

How to Disable SSL Certificate Checks in Python Requests?

Deaktivieren von Sicherheitszertifikatsprüfungen in Python-Anfragen

Um SSL-Fehler beim Zugriff auf Websites mit abgelaufenen Zertifikaten zu verhindern, während Sie die Anforderungsbibliothek von Python verwenden, wird das Verifizierungsflag verwendet kann auf False gesetzt werden. Standardmäßig wird bei Anfragen das SSL-Zertifikat des Servers überprüft, um eine sichere Verbindung zu gewährleisten. Diese Überprüfung kann jedoch umgangen werden.

Um die Zertifikatsüberprüfung zu deaktivieren, übergeben Sie einfach verify=False als Argument an die Post-Methode:

<code class="python">import requests
requests.post(url='https://foo.example', data={'bar':'baz'}, verify=False)</code>

Verwenden eines Kontextmanagers für dauerhafte Deaktivierung

Wenn Sie die Zertifikatsüberprüfung dauerhaft für alle Anfragen deaktivieren müssen, können Sie einen Kontextmanager verwenden:

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

Überlegungen

Bedenken Sie, dass die Deaktivierung der Zertifikatsüberprüfung die Sicherheit Ihrer Anwendung schwächt. Es wird empfohlen, dies nur zu tun, wenn Sie auf Websites zugreifen, denen Sie vertrauen, oder in kontrollierten Umgebungen, in denen Sicherheit kein vorrangiges Anliegen ist.

Das obige ist der detaillierte Inhalt vonWie deaktiviere ich SSL-Zertifikatprüfungen in Python-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn