gpt4 book ai didi

.net - 通过 WebClient.DownloadData 自动解压 gzip 响应

转载 作者:行者123 更新时间:2023-12-02 09:37:43 25 4
gpt4 key购买 nike

我希望自动解压缩 GZiped 响应。
我正在使用以下代码段:

mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
mywebclient.Encoding = Encoding.UTF8;

try
{
var resp = mywebclient.DownloadData(someUrl);
}

我查了 HttpRequestHeader enum ,并且无法通过 Headers 执行此操作

如何自动解压缩响应?或者我应该使用另一个函数来代替 mywebclient.DownloadData ?

最佳答案

WebClient 在幕后使用 HttpWebRequest。并且 HttpWebRequest 支持 gzip/deflate 解压。见 HttpWebRequest AutomaticDecompression property

但是,WebClient 类不直接公开此属性。因此,您必须从中派生以在基础 HttpWebRequest 上设置属性。

class MyWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = base.GetWebRequest(address) as HttpWebRequest;
request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
return request;
}
}

关于.net - 通过 WebClient.DownloadData 自动解压 gzip 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2973208/

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