使用WebDownloadClient的HTTPS url抛出异常

本文关键字:url 抛出异常 HTTPS WebDownloadClient 使用 | 更新日期: 2023-09-27 18:06:31

我有一个https URL抛出以下异常:

Exception Details: System。异常:底层连接为closed:发送时发生意外错误。--->system.net.webeexception:底层连接已关闭发送时发生意外错误。——> System.IO.IOException:从传输流收到一个意外的EOF或0字节。

我尝试使用URL的HTTP版本,这是工作的。我还检查了https url是否可以从机器访问,并且它们可以访问而没有任何错误,但在下面的代码中失败。而且这个问题是机器特有的。

抛出错误代码行:

 using (WebDownloadClient wc = new WebDownloadClient())
 {
     wc.Headers.Add("Content-Encoding", "gzip");
     wc.Headers.Add("Accept-Encoding", "gzip, compress");
     wc.DownloadFile(url, fileName);
 }

使用WebDownloadClient的HTTPS url抛出异常

    ServicePointManager.ServerCertificateValidationCallback += ValidateRemoteCertificate;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 ;
    using (WebDownloadClient wc = new WebDownloadClient())
    {
        wc.Headers.Add("Content-Encoding", "gzip");
        wc.Headers.Add("Accept-Encoding", "gzip, compress");
        wc.DownloadFile(url, fileName);
    }
private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
{
    if (error == System.Net.Security.SslPolicyErrors.None)
    {
        return true;
    }
    return false;
}

摘自c# Webclient通过https请求html