C#使用Gzip解压缩完整读取网页内容
2013-08-08 10:51 狼人:-) 阅读(1196) 评论(0) 编辑 收藏 举报using System; using System.Threading; using System.Text; using System.Text.RegularExpressions; using System.IO.Compression; using System.IO; using System.Web; using System.Net; class Test { static void Main() { string url = "http://www.cnblogs.com/waw/"; getHtml1(url); getHtml2(url); Console.ReadKey(); } private static void getHtml1(string url) { StringBuilder s = new StringBuilder(102400); WebClient wr = new WebClient(); wr.Headers[HttpRequestHeader.AcceptEncoding] = "gzip, deflate"; byte[] buffer = wr.DownloadData(url); GZipStream g = new GZipStream((Stream)(new MemoryStream(buffer)), CompressionMode.Decompress); byte[] d = new byte[20480]; int l = g.Read(d, 0, 20480); while (l > 0) { s.Append(Encoding.Default.GetString(d, 0, l)); l = g.Read(d, 0, 20480); } Console.Write(s.ToString() + "/n/n/n" + s.Length); } private static void getHtml2(string url) { StringBuilder s = new StringBuilder(102400); HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url); wr.Headers[HttpRequestHeader.AcceptEncoding] = "gzip, deflate"; HttpWebResponse response = (HttpWebResponse)wr.GetResponse(); head(response); GZipStream g = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress); byte[] d = new byte[20480]; int l = g.Read(d, 0, 20480); while (l > 0) { s.Append(Encoding.Default.GetString(d, 0, l)); l = g.Read(d, 0, 20480); } Console.Write(s.ToString() + "/n/n/n" + s.Length); } private static void head(HttpWebResponse r) { string[] keys = r.Headers.AllKeys; for (int i = 0; i < keys.Length; ++i) { Console.WriteLine(keys[i] + " " + r.Headers[keys[i]]); } } }
声明:此博有部分内容为转载,版权归原作者所有~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南