分享几个IP接口使用案例

  • A+
所属分类:系统文档

谈及前端开发,总难免涉及到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 代码案例,至于后端结合使用,其实也差不了多少,你需要的只是一个合适的接口而已。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: