使用c#WebClient下载文件

使用c#WebClient下载文件,c#,.net,download,webclient,C#,.net,Download,Webclient,我正在尝试使用c#webclient从以下链接下载csv文件: http://www.tase.co.il/_layouts/Tase/ManagementPages/Export.aspx?sn=none&enumTblType=allShares&Columns=noneColumns&Titles=noneTitles&action=1&SubAction=0&GridId=33&CurGuid={26F9CCE6-D184-43C6

我正在尝试使用c#webclient从以下链接下载csv文件:

http://www.tase.co.il/_layouts/Tase/ManagementPages/Export.aspx?sn=none&enumTblType=allShares&Columns=noneColumns&Titles=noneTitles&action=1&SubAction=0&GridId=33&CurGuid={26F9CCE6-D184-43C6-BAB9-CF7848987BFF}&ExportType=3
此链接在我的浏览器中运行良好;但是,当我使用以下代码时,它不起作用

WebClient ta = new WebClient();
ta.DownloadFileAsync(new Uri("http://www.tase.co.il/_layouts/Tase/ManagementPages/Export.aspx?sn=none&enumTblType=allShares&Columns=noneColumns&Titles=noneTitles&action=1&SubAction=0&GridId=33&CurGuid={26F9CCE6-D184-43C6-BAB9-CF7848987BFF}&ExportType=3"), "s.csv");
我得到一个空的s.csv文件大小:0字节。
我能做什么?

我尝试了一下您的代码,它为我返回了相同的结果。我注册了“DownloadProgressChanged”事件,可能会看到一个异常:

System.Net.WebException:远程服务器返回错误:(403)禁止

基于以下链接添加用户代理标题可解决此问题:


这对类似问题有效:

WebClient.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0)");


编辑:已接受答案中链接的标题示例格式不正确,可能会失败。

当您尝试下载该代码时。。。什么?发生了什么?到底什么不起作用?你有什么例外吗?运行时错误或其他问题?可能重复我没有得到任何异常我得到空的s.csv文件0字节大小您复制了另一个答案作为新答案。在国际海事组织,这应该是一个评论,而不是一个答案。此外,这似乎与接受的答案类型相同。接受的答案链接到未正确格式化的标题示例。在我的情况下,它失败了,而我发布的一个有效。因此,这个答案应该是有帮助的。虽然这个链接可以回答这个问题,但最好在这里包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-