我有一个简单的代码从指定的URL下载文件,它在Windows 7中运行良好,但是当我在Windows 8.1中运行它时,下载的文件已损坏。问题出在哪儿?
这是代码和网址:
WebClient wClient = new WebClient();
wClient.DownloadFile(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0", "dl.xlsx");
答案 0 :(得分:1)
此网址无法满足您的期望。使用Fiddler查找HTTP级别发生的情况。您需要找出服务器需要的输入以响应正确的内容。
答案 1 :(得分: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;
}
}
但我仍然不知道为什么我的初始代码在我的电脑中运行没有问题!