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库获取网页时遇到编码异常怎么办?的详细内容,更多请关注硕下网其它相关文章!