Node.js中使用request库获取网页时遇到编码异常怎么办?

Node.js中使用request库获取网页时遇到编码异常怎么办?

node中使用其他请求库解决获取页面异常编码的问题

在Node环境中,使用request爬取页面时,有时会遇到响应body编码异常的问题。代码示例如下:

const request = require('request')

function getGoods () {
    request('https://www.58moto.com/used-car/1470264', (err, res, body) => {
        console.log(body)
    })
}

getGoods()

浏览器中的响应与实际打印结果不一致,说明body发生了异常编码。出现这种情况,可能是由于request处理响应体编码的方式与服务器返回的内容编码不匹配所致。

为了解决这个问题,建议使用其他的HTTP请求库,例如axios。axios默认采用utf-8编码,可以更好地处理各种编码方式的返回内容。代码如下:

const axios = require('axios')

async function getGoods () {
    try {
        const res = await axios.get('https://www.58moto.com/used-car/1470264')
        console.log(res.data)
    } catch (err) {
        console.error(err)
    }
}

getGoods()

以上就是Node.js中使用request库获取网页时遇到编码异常怎么办?的详细内容,更多请关注硕下网其它相关文章!