谈及前端开发,总难免涉及到IP查询问题,有时候你写个简单的 Demo ,都是需要加个IP查询,方能显得逼格。在网上寻找许久,总结几个可用的接口,以及前端调用的简单方法,仅供参考。

友情提示:网上有介绍说 淘宝接口、腾讯接口、有道接口,博主在亲测是无效的。

1、搜狐接口(返回数据不带运营商,部分城市仅返回省份):
请求URL:https://pv.sohu.com/cityjson?ie=utf-8
数据返回(json):

var returnCitySN = {"cip": "221.213.149.190", "cid": "530100", "cname": "云南省昆明市"};

代码(JavaScript):

<srcipt src="https://pv.sohu.com/cityjson?ie=utf-8"></script>
<script>
    // 获取ip地址
    // 也可以不定义变量,直接在代码中使用 returnCitySN 数组
    var ip = returnCitySN["cip"];
    var cname = returnCitySN["cname"];
</script>

2、126(网易) 接口(返回数据 不带IP):
请求URL:https://ip.ws.126.net/ipquery
数据返回(json):

var lo="云南省", lc="德宏州"; var localAddress={city:"德宏州", province:"云南省"}

代码(JavaScript):

<srcipt src="https://ip.ws.126.net/ipquery"></script>
<script>
    // 默认返回没有IP数据
    // 可以调用数组,也可以直接使用变量
    var cname = localAddress["city"];  // 城市
    var pro = lo;  // 省份
</script>

3、太平洋接口(返回数据带运营商):
太平洋接口我在本地测试可以使用(回调函数),但是传到 web 服务器就有跨域问题(未解决)
请求URL:
// 返回 js 回调代码
http://whois.pconline.com.cn/ipJson.jsp

if(window.IPCallBack) {IPCallBack({"ip":"221.213.149.190","pro":"云南省","proCode":"530000","city":"德宏州","cityCode":"533100","region":"","regionCode":"0","addr":"云南省德宏州 联通","regionNames":"","err":""});}

代码(JavaScript):

// 回调方法
<script>
    w.IPCallBack = function IPCallBack (data){
        // 假如把 addr 值输出到 控制台
        // 当然了,你也可以直接调用相关字段,但是要以 data.xxx 方式调用
        console.log(data.addr);
    }
</script>

// 调用接口
<srcipt src="http://whois.pconline.com.cn/ipJson.jsp"></script>

// 返回 json 格式数据
此接口我在测试的时候会发生跨域问题(JavaScript)
https://whois.pconline.com.cn/ipJson.jsp?json=true

{"ip":"221.213.149.190","pro":"云南省","proCode":"530000","city":"德宏州","cityCode":"533100","region":"","regionCode":"0","addr":"云南省德宏州 联通","regionNames":"","err":""}

由于博主近期的 Demo 都是基于JavaScript 做的,所有仅给出 JavaScript 代码案例,至于后端结合使用,其实也差不了多少,你需要的只是一个合适的接口而已。

「 希望熬过一切,星光璀璨 」

流年小站,感谢有您的支持

「 道路坎坷,感谢有您 ---来自 anYun 的感谢 」

使用微信扫描二维码完成支付

2020-09-10
已阅:30058 人/次

 
 
 
分享是一种美德 x
打开微信,右上角的"+"选择"扫一扫"
使用“扫一扫”将博文分享至朋友圈吧

本文由 anYun 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3oibnoh9lo6cs

2 条评论

  1. 用户头像

    666

    1. 用户头像
      MR.anyun

      haha

添加新评论

Myssl安全认证