C# 使用WebDownloadClient的HTTPS URL引发异常

C# 使用WebDownloadClient的HTTPS URL引发异常,c#,.net,https,C#,.net,Https,我有一个https URL,它引发以下异常: 异常详细信息:系统。异常:基础连接为 已关闭:发送时发生意外错误。--> System.Net.WebException:基础连接已关闭:出现错误 发送时发生意外错误。-->System.IO.IOException: 从传输流接收到意外的EOF或0字节 我尝试使用URL的HTTP版本,这是可行的。我还检查了https URL是否可以从机器上访问,它们是否可以访问,并且没有任何错误,但在下面的代码中失败。此外,此问题与机器有关 代码行抛出错误: u

我有一个https URL,它引发以下异常:

异常详细信息:系统。异常:基础连接为 已关闭:发送时发生意外错误。--> System.Net.WebException:基础连接已关闭:出现错误 发送时发生意外错误。-->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
?您能否提供
DownloadFile
方法的实现?@Kamo DownloadFile是System.Net.webclient的内置方法请在代码的下面一行查看此I cam。这是否强制只使用有效的证书?ServicePointManager.CertificatePolicy=新的CertificatePolicy();当CertificatePolicy属性设置为ICertificatePolicy接口对象时,ServicePointManager对象使用该实例中定义的证书策略,而不是默认证书策略。默认证书策略允许有效证书和已过期的有效证书。谢谢@HyunMi。另外,我在m/c上观察到,我可以在浏览器中访问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;
}