克服HTTPS 連線中WebRequest 的SSL 加密挑戰
如果不加密,使用WebRequest 存取HTTPS 加密網站的內容可能會遇到障礙妥善處理。當嘗試向此類網站發出請求時,可能會因 SSL 憑證無效或類似問題而出現錯誤。
要解決此問題,您可以修改您提供的程式碼片段:
// Ignore any certificate validation errors ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); // Execute the original code Uri uri = new Uri(url); WebRequest webRequest = WebRequest.Create(uri); WebResponse webResponse = webRequest.GetResponse(); ReadFrom(webResponse.GetResponseStream());
下面定義的AcceptAllCertifications 方法可讓您繞過SSL 憑證驗證錯誤:
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
透過合併此修復,您可以確保您的程式可以成功存取來自HTTPS 加密網站的內容,即使預設情況下SSL證書不被視為有效。
以上是在 HTTPS 連線中使用 WebRequest 時如何克服 SSL 憑證驗證錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!