webClient.DownloadFile()返回404

时间:2018-08-20 16:20:58

标签: c# asp.net http-status-code-404 webclient

使用此网址的浏览器下载文件可以,但是webClient返回404

 string url = "http://zakupki.gov.ru/44fz/filestore/public/1.0/download/priz/file.html?uid=19CC93BEA67C4650B51D69CAA28CB27D";      
 using (var webClient = new WebClient())
        {                          
            webClient.DownloadFile(url , "name");
        }

1 个答案:

答案 0 :(得分:1)

Web浏览器完成的请求与WebClient的请求之间存在差异。

您需要将此添加到您的代码中:

webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

因此您的代码将更改为此:

string url = "http://zakupki.gov.ru/44fz/filestore/public/1.0/download/priz/file.html?uid=19CC93BEA67C4650B51D69CAA28CB27D";
using (var webClient = new WebClient())
{
  webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
  webClient.DownloadFile(url, "name.docx");
}

希望对您有帮助