c# - 无法使用 https 获取网络响应

标签 c# ssl https certificate

我使用此代码获取网页内容,但在 WebResponse myResponse = myRequest.GetResponse();

处出现异常
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("https://www.ecfr.gov");
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate (Object obj, X509Certificate X509certificate, X509Chain chain, System.Net.Security.SslPolicyErrors errors)
{
    return true;
};
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new System.IO.StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();

我知道它需要 SSL/TLS 证书,但我想知道为什么我仍然会收到错误消息?

https://www.ecfr.gov

最佳答案

试试这个

    static void Main(string[] args)
    {
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
        var client = new HttpClient();
        var result = client.GetAsync("https://www.ecfr.gov").Result;
        var str = result.Content.ReadAsStringAsync().Result;
    }

关于c# - 无法使用 https 获取网络响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43157477/

相关文章:

c# - 在 .Net 3.5 中使用动态关键字

java - 在X509TrustManager中,方法 "getAcceptedIssuers"有什么用?

wordpress - 在 wordpress .htaccess 中将特定页面从 http 重定向到 https

c# - 在我们的 C# DateTime 类型中,是什么导致了这种行为?

c# - 您将如何在 WCF 数据服务中实现 API key ?

c# - 放弃等待的任务,它们是垃圾回收的吗?

ssl - Kubernetes TLS secret 证书过期

SSL 证书 IIS

php - Laravel Firebase cURL 错误 60 : SSL certificate problem: unable to get local issuer certificate

javascript - 网络套接字握手。从 ws 到 wss