Heim >Backend-Entwicklung >C++ >Wie kann ich mit WebRequest auf HTTPS-Sites mit ungültigen Zertifikaten zugreifen?

Wie kann ich mit WebRequest auf HTTPS-Sites mit ungültigen Zertifikaten zugreifen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 03:21:40463Durchsuche

How Can I Access HTTPS Sites with Invalid Certificates Using WebRequest?

Zugriff auf HTTPS-verschlüsselte Websites mit WebRequest

Problem:

In einem Programm, das Inhalte abruft Von vom Benutzer bereitgestellten URLs schlägt ein Versuch, auf HTTPS-verschlüsselte Inhalte zuzugreifen, fehl, was zu einer Fehlermeldung führt Fehler.

Lösung:

Das Problem ergibt sich aus dem Standardverhalten von WebRequest, das SSL-Zertifikate validiert und Verbindungen zu Websites mit ungültigen Zertifikaten ablehnt. Damit Ihr Code unabhängig von der Gültigkeit des Zertifikats auf HTTPS-verschlüsselte Inhalte zugreifen kann, können Sie die Zertifikatsvalidierung deaktivieren, indem Sie den folgenden Code verwenden, bevor Sie die Webanfrage stellen:

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);

Definition von AcceptAllCertifications:

Die AcceptAllCertifications-Methode ist wie folgt definiert:

public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
    return true;
}

Durch diese Einstellung Rückruf weisen Sie WebRequest an, alle Zertifizierungen zu akzeptieren, wodurch die Zertifikatsvalidierung effektiv deaktiviert wird. Dadurch kann Ihr Programm auch dann auf HTTPS-verschlüsselte Inhalte zugreifen, wenn die Zertifizierungen ungültig sind.

Das obige ist der detaillierte Inhalt vonWie kann ich mit WebRequest auf HTTPS-Sites mit ungültigen Zertifikaten zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn