Web客户端下载已损坏的文件在Windows 8.1(WebClient downloads cor

2019-10-21 03:03发布

我有一个简单的代码,从下载指定的URL文件,并将其在Windows 7的伟大工程,但是当我在Windows中运行8.1下载的文件已损坏。 问题出在哪儿?

这是代码和网址:

WebClient wClient = new WebClient();
wClient.DownloadFile(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0", "dl.xlsx");

Answer 1:

这个网址无法提供你所期望的。 使用Fiddler找出在HTTP级别会发生什么。 你需要找出哪些服务器需要输入与正确的内容做出回应。



Answer 2:

由于USR的帮助,我发现这个问题,服务器返回gzip格式的文件,所以我已经适应的代码:

public class WebDownload : WebClient
{
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        if (request != null)
        {
            request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        }
        return request;
    }
}

但我仍然不知道为什么,我最初的代码在我的电脑不运行的问题!



文章来源: WebClient downloads corrupted file in windows 8.1