使用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);
}
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