首頁 >後端開發 >C++ >在 HTTPS 連線中使用 WebRequest 時如何克服 SSL 憑證驗證錯誤?

在 HTTPS 連線中使用 WebRequest 時如何克服 SSL 憑證驗證錯誤?

DDD
DDD原創
2025-01-03 01:51:38691瀏覽

How Can I Overcome SSL Certificate Validation Errors When Using WebRequest in HTTPS Connections?

克服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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn