0%

2020-03-03 nodejs 解决用 got 发起 http 请求中 gbk 与 utf8 编码转换问题

2020-03-03 nodejs 解决用 got 发起 http 请求中 gbk 与 utf8 编码转换问题

废话不多说直接上代码

1
2
3
4
5
6
7
8
9
10
11
const got = require('got')
const iconv = require('iconv-lite')
async function getLocation(ip) {
const url = 'http://www.ip138.com/iplookup.asp?ip=' + ip + '&action=2'//ip138的网站是gbk编码的
const res = await got.get(url, {
encoding: null //关键在于此处的配置,设置为null后res.body就是Buffer了,因此可以直接进行编码转换
// 2020-12-17 补充:最新版本的 got 需要配置为 'buffer',草梅在此也提醒各位网友,在网上搜解决方案的时候也需要注意版本,很容易找到旧版本的方案。最简单的办法还是看对应版本的官方文档,网友写的也已经是二手的了
})
const data = iconv.decode(res.body, 'GBK').match(/本站数据:(.*?)<\/li>/)[1]
return data
}

以上只是举个例子,其他情况类似处理

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/81e52f4c.html
版权声明:转载请注明出处!

坚持原创技术分享,您的支持将鼓励我继续创作!