我在Windows 2k3上使用VS2008。我正在尝试使用webclient下载文件。下载谷歌的徽标时,我可以下载它。但是,从其他服务器下载时,代码会引发以下异常。
基础连接已关闭:发送时发生意外错误
我没有设置securityProtocol的选项,因为我使用旧的.net(3.5).i.e
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
我也尝试在Windows 2k8上运行代码,它在那里工作正常。
以下是代码段。
using (var client = new WebClient())
{
client.UseDefaultCredentials = true;
client.Proxy = WebRequest.GetSystemWebProxy();
client.DownloadFile("https://www.google.co.in/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png", @"D:\dwimg.png");
}
提前谢谢。
答案 0 :(得分:0)
您的代码没有问题。问题是您从中下载数据的链接。 Google不允许来自任何计算机的频繁通话,它会将此类请求视为垃圾邮件,来自某些网络蜘蛛/抓取工具的来电等等。他们正在尝试从其网站上获取数据,这是谷歌没有做到这一点的原因之一; t允许您从他们的页面下载数据,无论是图像还是他们页面上可用的任何内容。
尝试从其他网站下载数据不会给您带来这样的错误。