HttpWebResponse 获取网页乱码
- StreamReader获取字符串使用 Encoding.Default.
- 检查HttpWebResponse.ContentEncoding是否包含恶心的 "GZIP"字符,如果是那么要多一步操作
-
string html = "";
string url = "http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/11/1101.html";
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url);
myReq.Timeout = 5000;//5s
using (HttpWebResponse httpWResp = (HttpWebResponse)myReq.GetResponse())
{
Stream myStream = httpWResp.GetResponseStream();
//如果包含GZIP,需要解压
if (!string.IsNullOrEmpty(httpWResp.ContentEncoding) && httpWResp.ContentEncoding.ToUpper().IndexOf("GZIP") > -1)
{
System.IO.StreamReader sr =
new System.IO.StreamReader(new GZipStream(myStream, CompressionMode.Decompress), Encoding.Default);
html = sr.ReadToEnd();
sr.Close();
}
else
{
StreamReader sr = new StreamReader(myStream, Encoding.Default);
html = sr.ReadToEnd();
sr.Close();
}
myStream.Close();
httpWResp.Close();
相关文章
- 三种简单的浏览器设置自动刷新网页
- Android登录client,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
- Magicodes.WeiChat——WeChatOAuthTest(网页授权获取用户基本信息)
- 【Vue/html】如何解决csdn下载网页后打开自动跳转登陆的问题(已解决)
- 获取网页乱码
- 【HTML】网页端脚本执行
- 《WebGL入门指南》——第2章,第2.3节一个简单的Three.js网页
- 《网页设计心理学》一2.3 你为什么会听从完全陌生的人?
- 《HTML5+CSS3网页设计入门必读》——1.4 选择Web托管提供商
- 如何在 JavaScript 中获取当前网页的协议和页面路径?
- 微信公众号平台开发-网页授权
- Http 代理工具 实战 支持网页与QQ代理
- 如何保护网页按钮不被XSS自动点击
- 网页屏蔽Backspace事件,输入框不屏蔽
- 华为快应用 - web标签无法加载部分网页