通過WebClient.DownloadData自動解壓縮gzip響應我希望自動解壓縮GZiped的響應。我使用以下代碼段:mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";mywebclient.Encoding = Encoding.UTF8;try{
var resp = mywebclient.DownloadData(someUrl);}我已經(jīng)檢查了HttpRequestHeader enum,沒有選擇通過這個來做到這一點Headers如何自動解壓縮resp?或者我應該使用另一種功能而不是mywebclient.DownloadData?
2 回答

慕少森
TA貢獻2019條經(jīng)驗 獲得超9個贊
WebClient使用HttpWebRequest。而HttpWebRequest支持gzip / deflate解壓縮。請參閱HttpWebRequest AutomaticDecompression屬性
但是,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; }}
- 2 回答
- 0 關注
- 826 瀏覽
添加回答
舉報
0/150
提交
取消