Wenn ich benutze:Unterschied zwischen Request.get() und urrlib.request.urlopen() Python
import request
r = request.get("https://example.com")
Ich erhalte die folgende Ausnahme:
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
Wenn ich jedoch folgenden Code verwenden, :
url = "https://www.example.com"
request = urllib.request.urlopen(url)
Es gibt mir die richtige Antwort [200] Code. Wieso ist es so? Was ist der Unterschied zwischen diesen beiden Methoden und welche sollte man bevorzugen?
Also korrigieren Sie mich, wenn ich falsch liege, request.get() [mit der Standardeinstellung verify = true] wird versuchen, das Zertifikat zu überprüfen und urllib.request.urlopen() tut das nicht. –
es ist explizit mit https-Verbindung getan https://docs.python.org/2/library/httplib.html#httplib.HTTPSConnection – wolframalpha
Danke, ich habe es jetzt. Es ist immer besser, request.get/post zu verwenden, damit es die ssl-Überprüfung für Sie durchführt. Danke für die Klarstellung! –