本帖最后由 woshiklc 于 2014-01-07 16:28:18 编辑

解决方案 »

  1.   

    AdoStream["Charset"] = "gb2312";
      

  2.   

     也是乱码。我试了  是否需要GZIP解压缩呢?
      

  3.   

    public static string doGet(string Url)
            {
                try
                {
                    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url.ToString());
                    myRequest.ServicePoint.Expect100Continue = true;
                    myRequest.Method = "GET";
                    myRequest.Timeout = 6000;
                    myRequest.KeepAlive = true;//modify by yang
                    myRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)";
                    myRequest.ContentType = "application/x-www-form-urlencoded";
                    HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                    StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.GetEncoding("utf-8"));
                    string outdata = reader.ReadToEnd();
                    reader.Close();
                    return outdata;
                }
                catch (Exception ex)
                {
                    return ex.Message;
                }
            }try也可以使用默认的
    SetRequestHeader("Accept-Encoding", "gzip,deflate,sdch");这个不要试试  
      

  4.   

    这个我会用,只是最近在研究WinHttp.WinHttpRequest.5.1  多谢
      

  5.   

    有处理办法的  呵呵。 gzip么?
      

  6.   

    有处理办法的  呵呵。 gzip么?嗯 gzip   request.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");
                    request.Headers.Add("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");
                    request.CookieContainer = cookie;
                    request.AllowAutoRedirect = true;          
                    response = (HttpWebResponse)request.GetResponse();
                    CkCollect = response.Cookies;
                    LocationUrl = response.ResponseUri.ToString();
                    Stream st;
                    st = response.GetResponseStream();
                    if (response.ContentEncoding.ToLower().Contains("gzip"))
                    {
                        st = new GZipStream(st, CompressionMode.Decompress, true);
                    }
                    StreamReader stReader = new StreamReader(st, Encoding.UTF8);
                    content = stReader.ReadToEnd();
      

  7.   

     private string Html(string Url)
            {
                string strResult = "";
                try
                {
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    string ce = response.ContentEncoding;
                    Stream streamReceive = response.GetResponseStream();                Encoding encoding = Encoding.GetEncoding(GetChartset(Url));
                    if (ce.ToLower() == "gzip")
                    {
                        GZipStream gzip = new GZipStream(streamReceive, CompressionMode.Decompress);
                        using (StreamReader reader = new StreamReader(gzip,encoding))
                        {
                            strResult = reader.ReadToEnd();
                        }                }
                }
                catch (Exception ex) { HttpContext.Current.Response.Write(ex.ToString()); }
                return strResult;        }
      

  8.   


    楼主你用这个Adodb.Stream 是ASP的产物。。是COM+组件研究这做啥。。基本没人用这东西了。
      

  9.   


    C#的用10楼的代码就可以了,这是NET自带的解决方案比Adodb.Stream好很多。