gpt4 book ai didi

c# - 通过 C# 使用间接 url 下载

转载 作者:太空狗 更新时间:2023-10-30 00:30:58 24 4
gpt4 key购买 nike

我有一个生成 excel 文件的间接链接。我搜索了很多,发现一些方法不能满足我的需要。链接地址没有直接引用excel文件,原因是每当请求URL时网页都会制作一个新的excel文件__刷新内容。我使用了下面提到的不同方法。我真正想要做的是,在不打开浏览器的情况下,我想下载 URL 的内容(这是一个 excel 文件)并将其另存为 excel 文件。 Here is the link ,点击后会直接得到一个excel文件,但是URL本身不包含excel文件的扩展名。
我使用了以下方法:

client.DownloadFile(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0", @"D:\a.xlsx");

上面的方法保存了内容,可惜excel显示不出来,不知道是什么原因。

WebRequest request = HttpWebRequest.Create(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0");
using (WebResponse response = request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
StreamReader r = new StreamReader(responseStream);
//third party methods
}

上面的代码也是通过搜索使用的,但它没有提供我需要的东西,我使用了一些第三方dlls将流保存为excel文件,保存的文件也无法用excel打开.我也使用过 Process.Start 但它打开了浏览器。我不想打开任何浏览器。

最佳答案

它是压缩流。你应该解压它

WebRequest request = HttpWebRequest.Create(@"http://members.tsetmc.com/tsev2/excel/MarketWatchPlus.aspx?d=0");
using (WebResponse response = request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
using(var fs = File.Create("MarketWatchPlus-1394.4.24.xlsx"))
{
var zipStream = new System.IO.Compression.GZipStream(responseStream, System.IO.Compression.CompressionMode.Decompress,true);
zipStream.CopyTo(fs);
}
}

关于c# - 通过 C# 使用间接 url 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31436600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com