【问题标题】:can't get web response with https无法使用 https 获得网络响应
【发布时间】:2017-08-26 17:12:21
【问题描述】:

我使用此代码获取网页内容,但在 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

【问题讨论】:

  • 任何时候你“得到异常”,你都需要告诉我们异常是什么。

标签: c# ssl https certificate


【解决方案1】:

试试这个

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

【讨论】:

    猜你喜欢
    • 2021-08-19
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2016-11-05
    • 2014-06-06
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多