Heim  >  Artikel  >  Backend-Entwicklung  >  Über ssl.SSLError(f\"read error: {e!r}\") von urllib3 aus e

Über ssl.SSLError(f\"read error: {e!r}\") von urllib3 aus e

WBOY
WBOYnach vorne
2024-02-29 18:13:381151Durchsuche

Über ssl.SSLError(f\read error: {e!r}\) von urllib3 aus e

Der Grund für den Fehler

urllib3 in Python ist eine Bibliothek zur Verarbeitung von URLs. Sie kann zum Senden von Http-Anfragen verwendet werden. ssl.SSLError(f"read error: {e!r}") ist ein Fehler, der darauf hinweist, dass bei der Verwendung von urllib3 ein Fehler aufgetreten ist. Dieser Fehler kann auf ein Netzwerk-Verbindungsproblem zurückzuführen sein oder darauf, dass die verbundene Website eine Zertifikatsüberprüfung verwendet und der Client die Überprüfung nicht besteht. Darüber hinaus schlägt die Zertifikatsüberprüfung möglicherweise fehl, weil das Zertifikat abgelaufen ist oder nicht von einer vertrauenswürdigen Zertifizierungsstelle ausgestellt wurde.

So beheben Sie diesen Fehler:

Stellen Sie sicher, dass die Netzwerkverbindung normal ist, versuchen Sie, die Verbindung wiederherzustellen, oder ändern Sie das Netzwerk.

Verwenden Sie „Verify = False“, um die Zertifikatsüberprüfung zu deaktivieren. Dadurch wird jedoch die verbundene Website unsicher.

Verwenden Sie andere Bibliotheken im Code, um Anfragen zu senden, z. B. Anfragen.

Verwenden Sie ein geeignetes Zertifikat zur Überprüfung. Wenn es sich um ein selbstsigniertes Zertifikat handelt, können Sie es in das Programm importieren.

Verwenden Sie ein benutzerdefiniertes CA-Zertifikat zur Überprüfung.

Wenn der Fehler durch den Ablauf des Zertifikats verursacht wird, müssen Sie ein Update durchführen das Zertifikat

Es ist zu beachten, dass die Verwendung der zweiten Methode das Problem lösen kann, aber dadurch die Website-Verbindung unsicher macht. Daher ist es besser, andere Methoden zur Lösung des Problems zu verwenden.

Anwendungsbeispiele

Natürlich.

Hier ist ein Beispielcode zum Deaktivieren der Zertifikatsüberprüfung beim Senden von

https

Anfragen mithilfe der urllib3-Bibliothek:

import urllib3

http = urllib3.PoolManager()
response = http.request('GET', 'https://example.com', verify=False)
print(response.data)
Hier ist ein Beispielcode zum Deaktivieren der Zertifikatsüberprüfung beim Senden von https-Anfragen mithilfe der Anforderungsbibliothek:
import requests

response = requests.get('https://example.com', verify=False)
print(response.text)

Das Folgende ist ein Beispielcode für die Verwendung einer benutzerdefinierten Zertifikatsüberprüfung beim Senden von https-Anfragen mithilfe der Anforderungsbibliothek:

import requests

response = requests.get('https://example.com', verify='path/to/ca_cert.pem')
print(response.text)

Es ist zu beachten, dass bei Verwendung der benutzerdefinierten Zertifikatsüberprüfung die Zertifikatsdatei im PEM-Format vorliegen und der Pfad korrekt sein muss.

Zu beachten ist außerdem, dass das Zertifikat aktualisiert werden muss, wenn der Fehler durch den Ablauf des Zertifikats verursacht wird.

Das obige ist der detaillierte Inhalt vonÜber ssl.SSLError(f\"read error: {e!r}\") von urllib3 aus e. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen