如何使用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”复制并粘贴到浏览器时,它也会将我重定向到根页面。
感谢您的帮助!
答案 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");
显然,该网站希望您只从该特定页面下载,因此您需要请求它,就好像您是从那里提交的那样。