Heim >Backend-Entwicklung >Python-Tutorial >Wie deaktiviere ich SSL-Zertifikatprüfungen in Python-Anfragen?
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!