WebClient在windows 8.1中下载损坏的文件

本文关键字:下载 损坏 文件 windows WebClient | 更新日期: 2023-09-27 18:25:46

我有一个简单的代码,可以从指定的URL下载文件,它在Windows7中运行得很好,但当我在Windows8.1中运行它时,下载的文件已损坏。问题出在哪里?

这是代码和URL:

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

WebClient在windows 8.1中下载损坏的文件

感谢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;
    }
}

但我仍然不知道为什么我的初始代码在我的电脑上运行没有问题!

此URL不能提供您所期望的内容。使用Fiddler来了解HTTP级别上发生了什么。您需要找出服务器需要什么作为输入,以便使用正确的内容进行响应。