/// <summary>
/// C#使用GZIP解压缩完整读取网页内容
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static string GetHtmlWithUtf(string url)
{
if (!(url.Contains("http://") || url.Contains("https://")))
{
url = "http://" + url;
}
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
req.Accept = "*/*";
req.Headers.Add("Accept-Language", "zh-cn,en-us;q=0.5");
req.ContentType = "text/xml";
string sHTML = string.Empty;
using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
{
if (response.ContentEncoding.ToLower().Contains("gzip"))
{
using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
sHTML = reader.ReadToEnd();
}
}
}
else if (response.ContentEncoding.ToLower().Contains("deflate"))
{
using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
sHTML = reader.ReadToEnd();
}
}
}
else
{
using (Stream stream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
sHTML = reader.ReadToEnd();
}
}
}
}
return sHTML;
}
C#使用GZIP解压缩完整读取网页内容
原创
©著作权归作者所有:来自51CTO博客作者mb61cac9c148376的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C# HttpWebRequest 绝技
你想实现自动登录吗,你想实现自动提取网页内容吗,进来看看吧。
html .net 帮助类 数据 -
download,C#, HttpWebRequest,FolderBrowserDialog
使用WebClient实现下载://.zj55.net/article/html
窗体设计器 .net 下载文件 应用程序 html -
C#网页抓取 HttpWebRequest
之前觉得很简单,真做起来,转了不到弯唉!代码以下为备忘,用作以后参考代码 Read More
css 构造函数 ide 读取数据 html -
C# HttpWebRequest提交数据方式
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。它
数据 c# 提交数据 程序代码 编码方式