nodejs request-promise 请求返回中文乱码

nodejs request-promise 请求返回中文乱码

解决方法:

具体步骤如下:

1. 引用iconv-lite 进行转码。

2. 请求时要写参数:encoding:null

3. 对body进行转码。

const rp = require("request-promise"), //request-promise模块
    iconv = require('iconv-lite');

module.exports = {
    async getPage(url) { //根据url获取页面信息
        const page = {
            document: await rp({
                url: url,
                encoding: null
            }).then((body) => {
                return iconv.decode(body, 'gb2312');
            })
        };
        return page;
    }
}