从https连接下载文件时出现问题。
一切都像预期的那样有效。然后在看似随机(虽然很短)的时间间隔后,下载开始失败,出现以下异常:
底层连接已关闭:无法为SSL / TLS安全通道建立信任关系。 ---> System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。
ca(Go Daddy)值得信赖。它适用于十几个下载,然后出现此错误。一旦错误开始发生,只有重新启动服务,执行下载将使其再次工作。当然,这种功能是短暂的。
执行下载的代码很简单:
private void DownloadFileTo(string targetPath)
{
using (WebClient client = new WebClient())
{
string finalURL = CombineURLParts();
client.DownloadFile(finalURL, targetPath);
}
}
我正在试图让这个工作撕裂我的头发。我试图使用ServicePointManager.ServerCertificateValidationCallback禁用证书验证,但仍然会发生错误。我正在处理程序中记录证书,但是有效的下载和没有的下载之间的一切看起来都是相同的。
有什么想法吗?