问题描述:本次遇见了一个奇怪的网站,是get请求,无加密,响应状态码200,常规的请求结果出现乱码应该可以通过设置encoding='utf-8’或者’gbk’实现正常显示,但是本次请求结果设置了也还是乱码,推测或许是请求头参数的原因,按照浏览器的请求头添加参数后还是异常
解决:请求头参数中有一个‘Accept-Encoding’,告诉服务器客户机支持的数据压缩格式,一般默认为‘gzip, deflate’,如果服务器也是支持压缩或者开启压缩,则会在响应头中加入Content-Encoding: gzip 头部。
根据浏览器的请求我们可以推测是因为Accept-Encoding的原因,将请求头的Accept-Encoding去除gzip,将其改为"Accept-Encoding": "deflate"。就是说客户端不支持这种编码,然后返回的数据就不乱码了。