When using the HttpWebRequest object, generally we do not turn on gzip compression, if the server returns the data is relatively large, this is we need to turn on gzip compression, how to open it?
1. To the HttpWebRequest object, add the following header:
request. Headers.add ("accept-encoding", "gzip");
2. Decode the received stream:
Private stringGetresponsebody (HttpWebResponse response) {stringResponsebody =string. Empty; if(Response. Contentencoding.tolower (). Contains ("gzip")) {using(GZipStream stream =NewGZipStream (response. GetResponseStream (), compressionmode.decompress)) {using(Streamreaderreader =NewStreamReader (Stream)) {Responsebody=Reader. ReadToEnd (); } } } Else if(Response. Contentencoding.tolower (). Contains ("deflate")) { using(Deflatestream stream =NewDeflatestream (response. GetResponseStream (), compressionmode.decompress)) {using(StreamReader reader =NewStreamReader (Stream, Encoding.UTF8)) {Responsebody=Reader. ReadToEnd (); } } } Else { using(Stream stream =Response. GetResponseStream ()) {using(StreamReader reader =NewStreamReader (Stream, Encoding.UTF8)) {Responsebody=Reader. ReadToEnd (); } } } returnresponsebody;}
Transferred from: http://www.csharpwin.com/csharpspace/13345r5893.shtml
"Reprint" HttpWebRequest Open gzip Compression introduction