下载HTML页面而不是ZIP文件

时间:2014-02-08 15:03:37

标签: c# webclient

如何使用C#下载http://www.tneu.edu.ua/study/timetable/列出的一个zip文件?

我试过

WebClient webClient = new WebClient();
webClient.DownloadFile("http://www.tneu.edu.ua/engine/download.php?id=801", "local.zip");

但是在执行DownloadFile()方法之后,“local.zip”会收到一个HTML页面而不是实际的zip文件。

当鼠标点击浏览器中的相应链接时,可以轻松下载zip文件。 但是,当我将链接网址“http://www.tneu.edu.ua/engine/download.php?id=801”复制并粘贴到浏览器时,它也会将我重定向到根页面。

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

此代码执行此操作:

WebClient webClient = new WebClient();
webClient.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate,sdch");
webClient.Headers.Add(HttpRequestHeader.Referer, "http://www.tneu.edu.ua/study/timetable/");
webClient.DownloadFile("http://www.tneu.edu.ua/engine/download.php?id=801", "local.zip");

显然,该网站希望您只从该特定页面下载,因此您需要请求它,就好像您是从那里提交的那样。