帮看看 HttpWebRequest 相关的一段代码

.Net技术 码拜 9年前 (2015-05-10) 728次浏览 0个评论
 
        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;
            }

        }

偶尔出错, 什么原因?
—————————————————–
2011-08-11 18:28:15  System.ArgumentException: 基流不可读。
参数名: stream
   在 System.IO.Compression.DeflateStream..ctor(Stream stream, CompressionMode mode, Boolean leaveOpen, Boolean usingGZip)
   在 System.IO.Compression.GZipStream..ctor(Stream stream, CompressionMode mode, Boolean leaveOpen)
   在 Robot.CMyFun.GetHtml(HttpWebRequest request, String& strContent) 位置 D:\workspace\WOWRobot_20110218_multi\CMyFun.cs:行号 63

48分
或许是服务器端压缩时有一些bug吧。服务器端跟你客户端使用了同一个压缩/解压缩工具吗?
引用 1 楼 sp1234 的回复:

或许是服务器端压缩时有一些bug吧。服务器端跟你客户端使用了同一个压缩/解压缩工具吗?

不清楚服务端使用的压缩/解压缩工具

抓包分析返回的是 gzip 压缩过的


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明帮看看 HttpWebRequest 相关的一段代码
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!