gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:36 24 4
gpt4 key购买 nike

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

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

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

我已经检查了HttpRequestHeader enum,并且没有选项可以通过Headers来执行此操作

如何自动解压resp?或者我应该使用另一个函数来代替 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/31271552/

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