1
iikebug 6 天前
默认以 utf8 解码了,你指定一下响应编码类型就好了
|
2
ldyisbest 6 天前 1
这段代码正常
import requests headers = { 'User-Agent': 'Mozilla/5.0' } resp = requests.get("https://tianqi.2345.com/t/wea_history/js/202311/55591_202311.js", headers=headers) print(resp.content.decode('gbk')) |
3
rekulas 6 天前
这个文件缺少编码指定,你开发默认显示输出一般是 utf 那肯定乱码了
浏览器应该是缺少编码的时候做了简单的自动识别,所以用了 gbk 编码 程序上也可以通过识别字符集进行判断 |
4
tsanie 6 天前
先回复问题,hex 的话可以通过 BOM 来推测编码类型。
火狐的提示已经很清晰了,非 utf-8 编码资源应该在返回头中声明 Content-Type ,火狐会首先检测这个,然后探测 BOM 。 > The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark. |