比如百度的页面

解决方案 »

  1.   

    可以啊
    http://blog.csdn.net/kailan818/article/details/6556273
    http://www.dotblogs.com.tw/jeff-yeh/archive/2008/04/16/2932.aspx
    http://msdn.microsoft.com/zh-cn/library/system.io.compression.gzipstream.aspx
      

  2.   


     WebRequest request = WebRequest.Create(Request.Url);
            WebResponse response = request.GetResponse();
            Stream stream = response.GetResponseStream();//获得基流        //转换成字节
            StreamReader sr = new StreamReader(stream);
            string str = sr.ReadToEnd();        Byte[] bytes = new Byte[str.Length];        stream.Read(bytes, 0, bytes.Length);        //启用内存流
            MemoryStream ms = new MemoryStream();        //启用压缩GzipStream
            GZipStream gzs = new GZipStream(ms, CompressionMode.Compress, true);        gzs.Write(bytes, 0, bytes.Length);        gzs.Close();        Byte[] newByte = ms.ToArray();        FileStream fs = new FileStream(Server.MapPath("text.html"), FileMode.Create, FileAccess.Write);        fs.Write(newByte, 0, newByte.Length);        fs.Close();我这样写,生成的一个静态页面打开是乱码的...
      

  3.   

    StreamReader sr = new StreamReader(stream,Encoding.GetEncoding("GB2312")); 或者其他编码先看这里是否已经乱了
      

  4.   


     WebRequest request = WebRequest.Create(Request.Url);
            WebResponse response = request.GetResponse();
            Stream stream = response.GetResponseStream();//获得基流        //转换成字节
            StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8, true);
            string str = sr.ReadToEnd();        Byte[] bytes = new Byte[str.Length];        stream.Read(bytes, 0, bytes.Length);        //启用内存流
            MemoryStream ms = new MemoryStream();        //启用压缩GzipStream
            GZipStream gzs = new GZipStream(ms, CompressionMode.Compress, true);        gzs.Write(bytes, 0, bytes.Length);        gzs.Close();        Byte[] newByte = ms.ToArray();
            string temp = System.Text.Encoding.UTF8.GetString(newByte);//这里检测到转换成字符串就乱码了!       // int len = System.Text.Encoding.UTF8.GetBytes("").Length;
            FileStream fs = new FileStream(Server.MapPath("text.html"), FileMode.Create, FileAccess.Write);        fs.Write(newByte, 0, newByte.Length);        fs.Close();