首頁 >後端開發 >C++ >如何使用WebRequest存取SSL憑證無效的HTTPS網站?

如何使用WebRequest存取SSL憑證無效的HTTPS網站?

Patricia Arquette
Patricia Arquette原創
2025-01-03 16:43:44569瀏覽

How to Access HTTPS Sites with Invalid SSL Certificates Using WebRequest?

使用HTTPS 中的WebRequest 存取SSL 加密網站

嘗試使用WebRequest 從HTTPS URL 擷取內容時,開發人員可能會遇到錯誤,如果網站擁有無效的SSL 憑證。為了解決這個問題,必須採用適當的方法來處理 SSL 憑證。

標準 WebRequest 方法包括:

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

但是,對於 SSL 加密的內容,還需要一個額外的步驟是必須的。透過在Web 請求之前合併以下行:

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

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

程式可以有效忽略任何無效的SSL 證書,從而使其能夠成功存取HTTPS 內容。當使用使用者提供的 URL(無法保證 SSL 憑證的有效性)時,此方法特別有用。

以上是如何使用WebRequest存取SSL憑證無效的HTTPS網站?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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