Accès aux sites cryptés SSL avec WebRequest en HTTPS
Lors de la tentative de récupération de contenu à partir d'une URL HTTPS à l'aide de WebRequest, les développeurs peuvent rencontrer des erreurs si le le site possède un certificat SSL invalide. Pour résoudre ce problème, il est essentiel d'employer les méthodes appropriées de gestion des certificats SSL.
L'approche WebRequest standard implique :
Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
Cependant, pour le contenu crypté SSL, une étape supplémentaire est requis. En incorporant la ligne suivante avant la requête Web :
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
Avec le rappel AcceptAllCertifications défini comme :
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
Le programme peut effectivement ignorer tout certificat SSL non valide, lui permettant d'accéder avec succès Contenu HTTPS. Cette approche est particulièrement utile lorsque vous travaillez avec des URL fournies par l'utilisateur, où la validité des certificats SSL ne peut être garantie.
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!