static public int GetHtml(HttpWebRequest request, ref string strContent) { try { strContent = ""; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream responseStream = response.GetResponseStream(); if (response.ContentEncoding.ToLower().Contains("gzip")) { responseStream = new GZipStream(responseStream, CompressionMode.Decompress, true); } else if (response.ContentEncoding.ToLower().Contains("deflate")) { responseStream = new DeflateStream(responseStream, CompressionMode.Decompress); } string strCharacterSet = response.CharacterSet; if (strCharacterSet.Contains("ISO-8859-1")) { strCharacterSet = "gbk"; } StreamReader readStream = new StreamReader(responseStream, System.Text.Encoding.GetEncoding(strCharacterSet)); strContent = readStream.ReadToEnd(); responseStream.Close(); response.Close(); return 0; } catch(Exception ex) { CMyFun.WriteLog(ex.ToString()); return -1; } } 偶尔出错, 什么原因? |
|
48分 |
或许是服务器端压缩时有一些bug吧。服务器端跟你客户端使用了同一个压缩/解压缩工具吗?
|
不清楚服务端使用的压缩/解压缩工具 抓包分析返回的是 gzip 压缩过的 |