NodeJS模块'request'返回一些符号而不是html

Max*_*ark 0 javascript node.js npm cheerio requestjs

我正在学习Nodejs,并尝试使用node.js进行网络报废

我正在使用节点模块requestcheerio

但是当我请求url时,它会返回一些符号而不是html正文

var request = require('request');
var cheerio = require('cheerio');
request({
    url:"http://mangafox.me/manga/shingeki_no_kyojin/v00/c000/1.html"
},(err, res, body) => {
    if(err) throw err;

    else {
        var $ = cheerio.load(body);
        console.log(body);
        }
});
Run Code Online (Sandbox Code Playgroud)

在命令提示符下输出

在此输入图像描述

谁能告诉我这里有什么问题?

谢谢

msc*_*dex 6

问题是服务器正在发送压缩响应,即使您没有请求压缩响应.

简单的解决方法是只添加gzip: true您的request()选项,这不仅会自动解压缩响应,还会将相应的Accept-Encoding标头发送到服务器.