当前位置: 首页 > article >正文

小游戏前端地区获取

目前前端获取除了太平洋,没有其它的了。

//在JS中都是使用的UTF-8,然而requst请求后显示GBK却是乱码,对传入的GBK字符串,要用数据流接收,responseType: "arraybuffer"
tt.request({
    url: "https://whois.pconline.com.cn/ipJson.jsp?json=true",
    data: {},
    header: { 'content-type': 'application/json' },
    method: 'POST',
    dataType: "JSON",
    responseType: "arraybuffer",
    success(res) {
        //获取用户的位置信息
        console.log("获取用户的地区信息");
        var x = new Uint8Array(res.data);
        var str = new TextDecoder('gbk').decode(x);
        console.log(JSON.parse(str).pro + JSON.parse(str).city);
    },
    fail(res) {
        console.log("获取地区信息失败:" + JSON.stringify(res));
    }
});

当然,出包后,TextDecoder会找不到,H5吗阉割版的web,少啥东西,也很正常。

下载两个三方库文件,来源小程序实现GBK编码数据转为Unicode/UTF8 - 超软毛毛虫 - 博客园

引入用require,不要用import,不支持。 

部分代码修改为

var x = new Uint8Array(res.data);
var str = new encoding.TextDecoder('gbk').decode(x);
console.log(JSON.parse(str).pro + JSON.parse(str).city);

 输出

{ip: "xx.1.xx.xx", pro: "北京市", proCode: "1xxxxxx", city: "海淀区", cityCode: "1xxxxxxx", …}


http://www.kler.cn/a/504496.html

相关文章:

  • 论文阅读:Searching for Fast Demosaicking Algorithms
  • sql_实用查询语句模版
  • VSCode Live Server 插件安装和使用
  • ElasticSearch|ES|架构介绍|原理浅析
  • mapbox进阶,添加绘图控件
  • 【Vue】mouted、created、computed区别
  • Django基础之ORM初识
  • Windows图形界面(GUI)-QT-C/C++ - Qt图形绘制详解
  • 长安“战疫”网络安全公益赛的一些随想
  • 基础理论知识:无人机图数传数据链技术详解
  • 多租户架构是什么?
  • 初学stm32 --- ADC采集内部温度传感器
  • 如何调整 Nginx 工作进程数以提升性能
  • 怎么实现Redis的高可用?
  • html中鼠标位置信息
  • 【HarmonyOS NAPI 深度探索4】安装开发环境(Node.js、C++ 编译器、node-gyp)
  • Go语言的面向对象接口说明及代码示例
  • 用户登录/登出功能,当登录页面在另一域名下
  • 探索图像编辑的无限可能——Adobe Photoshop全解析
  • 【C语言面试题精选及详细解答】
  • node.js的进程保活
  • 设计模式之结构型模式
  • 2025封禁指定国家ip-安装xtables-addons记录
  • Chromium 132 编译指南 Windows 篇 - Git 初始化设置 (四)
  • Mono里运行C#脚本27—X86_64指令寄存器初步了解mono_arch_regname
  • PL/SQL语言的网络编程