WebRequest mit HTTPS verwenden: Herausforderungen bei der SSL-Verschlüsselung überwinden
Bei der Arbeit mit URLs stößt man häufig auf HTTP- und HTTPS-Protokolle. HTTPS, das SSL-Verschlüsselung nutzt, fügt Ihrer Kommunikation eine zusätzliche Sicherheitsebene hinzu. Dies kann jedoch bei der Verwendung von WebRequest zu Herausforderungen führen.
Problem:
Ein Benutzer ist beim Zugriff auf eine HTTPS-URL mit dem folgenden Code auf ein Problem gestoßen:
Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
Analyse:
In bestimmten Fällen kann dieser Code fehlschlagen, wenn Die URL verweist auf eine Site mit einem ungültigen SSL-Zertifikat.
Lösung:
Um das Problem zu beheben und den Zugriff auf SSL-verschlüsselte Sites zu ermöglichen, führen Sie die folgenden Schritte aus:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
Diese beiden Zeilen ignorieren alle SSL-Zertifizierungsprobleme und ermöglichen effektiv den Zugriff auf die Zielseite unabhängig von der Gültigkeit des Zertifikats.
Nachher Durch die Implementierung dieser Lösung sollte der bereitgestellte Code in der Lage sein, Inhalte sowohl von HTTP- als auch von HTTPS-URLs erfolgreich zu lesen.
Das obige ist der detaillierte Inhalt vonWie kann ich trotz Problemen mit dem SSL-Zertifikat mit WebRequest auf HTTPS-URLs zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!