c# gzip html,C#使用Gzip解压缩完整读取网页内容

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();

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[];

int l = g.Read(d, , );

while (l > )

{

s.Append(Encoding.Default.GetString(d, , l));

l = g.Read(d, , );

}

Console.Write(s.ToString() + "/n/n/n" + s.Length);

}

private static void getHtml2(string url)

{

StringBuilder s = new StringBuilder();

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[];

int l = g.Read(d, , );

while (l > )

{

s.Append(Encoding.Default.GetString(d, , l));

l = g.Read(d, , );

}

Console.Write(s.ToString() + "/n/n/n" + s.Length);

}

private static void head(HttpWebResponse r)

{

string[] keys = r.Headers.AllKeys;

for (int i = ; i < keys.Length; ++i)

{

Console.WriteLine(keys[i] + " " + r.Headers[keys[i]]);

}

}

}

Windows API方式直接调用C&num;的DLL,支持多音字转拼音、Gzip解压缩、公式计算(VBA、C&plus;&plus;、VB、Delphi甚至java都可以)

原始链接 https://www.cnblogs.com/Charltsing/p/DllExport.html 这两年,我在VBA应用方面一直有几大痛点:1.多音字转拼音:2.64位下的GZIP解压 ...

excel保存为制表符分隔的文本文件 js无法完整读取

excel保存为制表符分隔的文本文件 js无法完整读取 excel另存为文本有两个选项,一个是制表符分隔的文本文件,一个是unicode文本.生成的文件Unicode更大一些.但是这里需要注意的是[制 ...

linux串口通信 接收信息不完整 读取不全

类似这种 ready.o是我用来读取串口信息的一个程序 执行结果如下: [root@localhost testPlc]# ./ready.o 0 02 1 30 2 30 3 46 4 46 5 3 ...

c&num; gzip解压缩

, bytes.Length)) > )             {                line =  System.Text.Encoding.Defaul ...

VB6之借助zlib实现gzip解压缩

这是个简版的,可以拿来做下网页gzip的解压缩,整好我的webserver还不支持这个,有时间了就加上. zlib.dll下载请点击我! 模块zlib.bas的代码如下: 'code by lichm ...

http gzip 解压缩

var sContentEncoding = httpRespone.Headers["Content-Encoding"]; if(sContentEncoding == &qu ...

c语言使用zlib实现文本字符的gzip压缩与gzip解压缩

网络上找到的好多方法在解压缩字符串的时候会丢失字符,这里是解决方法: http://stackoverflow.com/questions/21186535/compressing-decompres ...

AXIS2调用web service,返回结果用GZIP解压缩

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOExceptio ...

不能完整读取txt文件问题

txt文件内容 5 1.3 0.4 3.4 -1.7 16.7 0.89 14.17 4.8 1.34 0.42 3.36 -2 16.2 0.9 14.8 4.9 1.30 0.37 3.51 -1 ...

随机推荐

2013-6-2 &lbrack;转载自优快云&rsqb;如何入门Windows系统下驱动开发

[序言]很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从事驱动开发时间不长也不短,大概 ...

HBase HDFS目录树

一.0.94-cdh4.2.1版本系统级别的一级目录如下,用户自定义的均在这个/hbase 下的一级子目录下/hbase/-ROOT-/hbase/.META./hbase/.archive/hbas ...

【JavaScript】

右键禁用.防止文字选中 .返回选中的文本 JavaScript 原理 Javascript高性能动画与页面渲染 前端不为人知的一面--前端冷知识集锦 屏幕外去计算值,position:absolute ...

String&period;Format&lpar;string&comma; arg0&rpar;中sring格式

复合格式字符串和对象列表将用作支持复合格式设置功能的方法的参数.复合格式字符串由零个或多个固定文本段与一个或多个格式项混和组成.固定文本是所选择的任何字符串,并且每个格式项对应于列表中的一个对象或装箱 ...

MSIL实用指南-创建字段

本篇讲解怎么创建字段,主要是在修饰符的创建上. 创建字段的方法是TypeBuilder.DefineField,传入字段名称.字段类型.字段修饰符等参数,返回一个FieldBuilder对象.先看这一 ...

UNIX环境高级编程——单实例的守护进程

#include #include #include #include

The Ethereum devp2p and discv4 protocol Part II

描述 本文章主上下两篇 上篇:讲述以太坊devp2p与disc4节点发现协议 下篇:实践篇,实现如何获取以太坊所有节点信息(ip,port,nodeId,client) 正文 本片为下篇:实践篇,主要 ...

spoj 839-Optimal Marks

Description SPOJ.com - Problem OPTM Solution 容易发现各个位之间互不影响, 因此分开考虑每一位. 考虑题中是怎样的一个限制: 对每个点确定一个0/1的权值; ...

&lbrack;原创&rsqb;K8Cscan插件之Weblogic漏洞扫描&amp&semi;通用GetShell Exploit

[原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

IDEA修改module的名字

首先右键module名,选择[Refactor]-[Rename...] 然后选择[Rename module] 只修改这些对于当前开发是没有问题了 但是刚开始把module添加成maven项目的时候 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值