Maison >développement back-end >C++ >Comment puis-je utiliser WebRequest pour accéder aux URL HTTPS malgré les problèmes de certificat SSL ?

Comment puis-je utiliser WebRequest pour accéder aux URL HTTPS malgré les problèmes de certificat SSL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 09:49:39188parcourir

How Can I Use WebRequest to Access HTTPS URLs Despite SSL Certificate Issues?

Utiliser WebRequest avec HTTPS : surmonter les défis de cryptage SSL

Lorsque vous travaillez avec des URL, il est courant de rencontrer à la fois les protocoles HTTP et HTTPS. HTTPS, utilisant le cryptage SSL, ajoute une couche de sécurité supplémentaire à votre communication. Cependant, cela peut présenter des défis lors de l'utilisation de WebRequest.

Problème :

Un utilisateur a rencontré un problème lors de l'accès à une URL HTTPS à l'aide du code suivant :

Uri uri = new Uri(url);
WebRequest webRequest = WebRequest.Create(uri);
WebResponse webResponse = webRequest.GetResponse();
ReadFrom(webResponse.GetResponseStream());

Analyse :

Dans certains cas, ce code peut échouer si l'URL pointe vers un site avec un certificat SSL invalide.

Solution :

Pour résoudre le problème et autoriser l'accès aux sites cryptés SSL, suivez les étapes suivantes :

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;
}

Ces deux lignes ignorent tout problème de certification SSL, permettant effectivement l'accès au site cible quelle que soit la validité du certificat.

Après la mise en œuvre de cette solution, le code fourni doit être capable de lire avec succès le contenu des URL HTTP et HTTPS.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn