Есть ли быстрый способ распаковать gzip-ответ, загруженный с помощью метода WebClient.DownloadString()? Есть ли у вас какие-либо предложения о том, как обрабатывать ответы gzip с помощью WebClient?Uncompressing gzip response от WebClient
37
A
ответ
72
Самый простой способ сделать это - использовать встроенный в automatic decompression класс HttpWebRequest
.
var request = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com");
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
Чтобы сделать это с WebClient
вы должны сделать свой собственный класс, производный от WebClient
и переопределить метод GetWebRequest()
.
public class GZipWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
return request;
}
}
Также см эту тему: SO Does .NET's HttpWebResponse uncompress automatically GZiped and Deflated responses?
Смежные вопросы
- 1. Uncompressing Gzip buffer в JavaScript
- 2. Gzip декомпрессия HTTP Response
- 3. WebClient - UploadValues: Get Status Response
- 4. WebClient «error get response stream»
- 5. Azure DocumentDb compress/gzip response
- 6. .NET WebClient Response и WebException
- 7. Uncompressing корм XML
- 8. Сжатие WebClient и Gzip происходит быстрее?
- 9. C# Silverlight WebClient получает Content-Type Response?
- 10. Gzip chunked response в игровом каркасе
- 11. Декомпрессию потока GZip из HTTPClient Response
- 12. Uncompressing main.cvd hex database
- 13. Uncompressing bzip2 в приложении iOS
- 14. Weird response от API
- 15. Uncompressing LZ4 blob с Perl
- 16. Uncompressing .Z-файл с Python
- 17. Предотвращение кодирования сервера в gzip при загрузке с помощью WebClient
- 18. Ручная кодировка gzip для Response CamelMessage (несоответствия длины контента)
- 19. Получите количество полученных байтов в Netty для gzip chunked response
- 20. Apache Axis2 Веб-сервис: Gzip resquet and response
- 21. Uncompressing zlib file в командной строке
- 22. Uncompressing .zip-файл в приложении | Аппликатор | Titanium
- 23. uncompressing большое количество файлов на лету
- 24. Генерация ImapMessage от объекта Response
- 25. Fetching Результат от HTTP Response
- 26. Parse json response от DispatchCommandResult
- 27. Получить Url От CURL Response
- 28. получить значение от curl response
- 29. UCWA Autodiscovery Response от Lync
- 30. Получите ответ от Moya Response
является не нужно указать acceptencoding заголовок для производного класса WebClient? – user3791372