目前很多网站默认采用GZip压缩,如果不进行解压缩,下载后生成的html页面打开后会出现中文乱码

乱码前:

            string url = "http://quote.eastmoney.com/stocklist.html";
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url);
var response = client.GetAsync(url).Result; var content = response.Content.ReadAsStringAsync().Result;
File.WriteAllText(@"C:\stock.html", content, Encoding.Default); }

乱码效果:

解决代码:

            string url = "http://quote.eastmoney.com/stocklist.html";
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url); //关键代码1:设置请求头采用GZip和deflate两种压缩算法
client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate");
var response = client.GetAsync(url).Result; var fileStream = response.Content.ReadAsStreamAsync().Result; //关键代码2:对文件流采用GZip算法解压
GZipStream gzip = new GZipStream(fileStream, CompressionMode.Decompress); using (StreamReader reader = new StreamReader(gzip, Encoding.GetEncoding("gb2312")))//中文编码处理
{
File.WriteAllText(@"C:\stock.html", reader.ReadToEnd(), Encoding.Default);
}
}

解决后效果:

乱码有的时候不能单单靠转File.WriteAllText(@"C:\stock.html", reader.ReadToEnd(), Encoding.GetEncoding("gb2312"));方式解决,具体情况具体分析,思维多发散发散。

解决下载经过GZip压缩后的网页乱码问题的更多相关文章

  1. 网站启用GZip压缩后,速度快了3倍!

    GZip压缩,是一种网站速度优化技术,也是一把SEO优化利器,许多网站都采用了这种技术,以达到提升网页打开速度.缩短网页打开时间的目的. 本文是一篇研究性文章,将通过某个案例来给大家显示网站采用GZi ...

  2. nginx开启gzip压缩后导致apk包下载不能正常安装

    最后更新时间:2019/4/27 nginx一般都会开启gzip压缩,以提升传输性能. 配置如下: gzip on; gzip_comp_level 2; gzip_min_length 1k; gz ...

  3. 解决下载的CHM文件无法显示网页问题

    问题症状:打开CHM文件,左边目录齐全,可右边边框里却是无法显示网页. 解决方法:方法一:修改注册表1)新建一个文本文件2)添加如下内容:REGEDIT4[HKEY_LOCAL_MACHINE\SOF ...

  4. kali 解决Metasploit拿到shell后显示中文乱码问题

    拿到对方shell后显示的问题如下: 中文乱码解决: chcp 65001 然后 上传下载文件

  5. 解决jQuery对表单serialize后出现的乱码问题

    通过看jQuery源码可以知道,serialize方法是通过encodeURIComponent编码的,所以解决乱码的最笨方法:  1.重新分解序列化后的值  2.把分解的值重新decodeURICo ...

  6. linux PHP空间设置GZIP压缩网页方法!

    网站设置GZIP压缩,缩小网页体积,让网站访问速度更快!方法很简单,只需要在你的网站根目录建立.htaccess文件并输入以下代码: 新建-记事本-复制以下代码:(如果网站已有.htaccess文件, ...

  7. 针对ASP.NET页面实时进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)

    在介绍之前,先简单说一说ASP.NET服务端GZIP压缩模块的作用及工作原理,很多人编写网页的时候页面因为使用了大量的JS特效又或者放置很多大型动态广告导致了页面或脚本体积庞大,通常都会使用一些压缩工 ...

  8. IIS启用GZip压缩

    IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置起来也相当的简单,因此被广大网站管理员使用.本文将详细介绍如何在IIS启 ...

  9. IIS启用GZip压缩的详细教程(图文)

    本文将详细介绍如何在IIS启用GZip压缩,同时解决可能遇到的一些问题 IIS启用GZip压缩,是提高网站速度和减轻服务器负载的一个优化手段和方法,经测试,网站启用GZip压缩后,速度快了3倍!而配置 ...

随机推荐

  1. rest-framework之分页器

    rest-framework之分页器 本文目录 一 简单分页(查看第n页,每页显示n条) 二 偏移分页(在第n个位置,向后查看n条数据) 三 CursorPagination(加密分页,只能看上一页和 ...

  2. MySQL系列-优化之like关键字 创建索引

    原文: https://blog.csdn.net/ufo___/article/details/81164996 MySQL系列-优化之覆盖索引:  https://blog.csdn.net/UF ...

  3. python基础(八)——多线程

    [root@bogon python]# cat test.py #!/usr/bin/ptyhon import thread import time def print_time(threadNa ...

  4. MySQL DataType--数值类型

    =========================================================MySQL常见的整数类型有:TINYINT: 占用8位空间SMALLINT: 占用16 ...

  5. 普林斯顿数学指南(第三卷) (Timothy Gowers 著)

    第V部分 定理与问题 V.1 ABC猜想 V.2 阿蒂亚-辛格指标定理 V.3 巴拿赫-塔尔斯基悖论 V.4 Birch-Swinnerton-Dyer 猜想 V.5 卡尔松定理 V.6 中心极限定理 ...

  6. php 数组排序 按照某字段

    $arr=[     array(         'name'=>'小坏龙',         'age'=>28     ),     array(         'name'=&g ...

  7. 模拟实现strncpy,strncat,strncmp

    1.模拟实现strncpy  <1.>strncpy相比于strcpy增加了size_t参数可以实现最多拷贝的字节数<2.>(size_t不可以超出拷贝存放的内存大小)来保证不 ...

  8. 【转】Vue生命周期

    Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算.这意味着你不能使用箭头函数来定义一个生命周期方法.这是因为箭头函数绑定了父上下文,因此this与你期 ...

  9. eslint 知识点

    ESlint和webpack集成,在babel编译代码开始前,进行代码规范检测. eslint的配置方式.比较多元化: js注释 .eslintrc.*文件 package.json里面配置eslin ...

  10. 3、Sql-Ora-01033:oracle initialization or shutdown in progress