node的http.request拿到的数据乱码怎么办?
serer.js
本想用下面的方法,做代理。我能从本地拿测试环境的数据,在本地调试。
options 相关的配置
let request = http.request(options, function(response){
response.on('data', function(chunk) {
data = data + chunk
})
response.on('end', function() {
try {
data = JSON.parse(data)
} catch(err) {
console.log(err)
}
res.json && res.json(data) || (res.body = data)
})
})
request.on('error', function(e) {
console.log('Error', e)
})
request.write(postdata)
request.end()
用这种方法 拿其他网站的数据是json,是正常的。
但是拿我们公司的测试环境的数据就变成了:
这个样子。
直接在浏览器里请求连接是正常的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你从头信息里面看一下编码格式,可能是gb2312的或gbk的,是的话你需要转码