Zugriff auf SSL-verschlüsselte Websites mit WebRequest in HTTPS
Beim Versuch, Inhalte von einer HTTPS-URL mithilfe von WebRequest abzurufen, können Entwickler auf Fehler stoßen, wenn die Die Website verfügt über ein ungültiges SSL-Zertifikat. Um dieses Problem anzugehen, ist es wichtig, die geeigneten Methoden für den Umgang mit SSL-Zertifikaten einzusetzen.
Der standardmäßige WebRequest-Ansatz umfasst Folgendes:
Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
Für SSL-verschlüsselte Inhalte ist jedoch ein zusätzlicher Schritt erforderlich ist erforderlich. Durch Einfügen der folgenden Zeile vor der Webanforderung:
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
Mit dem AcceptAllCertifications-Rückruf definiert als:
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
Das Programm kann alle ungültigen SSL-Zertifikate effektiv ignorieren und so erfolgreich darauf zugreifen HTTPS-Inhalt. Dieser Ansatz ist besonders nützlich, wenn Sie mit vom Benutzer bereitgestellten URLs arbeiten, bei denen die Gültigkeit von SSL-Zertifikaten nicht garantiert werden kann.
Das obige ist der detaillierte Inhalt vonWie greife ich mit WebRequest auf HTTPS-Sites mit ungültigen SSL-Zertifikaten zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!