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 压缩过的 |
|