首頁 > 後端開發 > C++ > 儘管出現 SSL 錯誤,如何使用 WebRequest 以程式方式存取 HTTPS 內容?

儘管出現 SSL 錯誤,如何使用 WebRequest 以程式方式存取 HTTPS 內容?

Susan Sarandon
發布: 2025-01-03 06:31:49
原創
417 人瀏覽過

How to Programmatically Access HTTPS Content Using WebRequest Despite SSL Errors?

使用WebRequest 透過HTTPS 以程式方式存取SSL 加密內容

透過WebRequest 與URL 互動時,由於SSL 加密而遇到困難的情況並不少見。本文旨在提供一個解決方案來克服此類挑戰。

您提供的程式碼片段嘗試從 URL 檢索內容,但當 URL 使用 HTTPS 協定時遇到錯誤。要處理這種情況,必須調整程式碼以適應 SSL 加密內容。

關鍵的解決方案在於引入 ServicePointManager.ServerCertificateValidationCallback,它是一個允許您處理 SSL 憑證驗證的委託。透過覆寫其預設行為,您可以指示代碼接受所有認證,包括那些可能無效的認證。

要實現此目的,請在發出Web 請求之前添加以下行:

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
登入後複製

然後,建立一個名為AcceptAllCertifications 的簡單方法以傳回true:

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 加密的URL 中的內容,無論憑證的有效性如何。

以上是儘管出現 SSL 錯誤,如何使用 WebRequest 以程式方式存取 HTTPS 內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板