分享几个IP接口使用案例

2023-06-15 14:49:24 浏览数 (1)

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

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

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

代码语言:javascript复制
var returnCitySN = {"cip": "221.213.149.190", "cid": "530100", "cname": "云南省昆明市"};

代码(JavaScript):

代码语言: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):

代码语言:javascript复制
var lo="云南省", lc="德宏州"; var localAddress={city:"德宏州", province:"云南省"}

代码(JavaScript):

代码语言: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

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

代码(JavaScript):

代码语言: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

代码语言:javascript复制
{"ip":"221.213.149.190","pro":"云南省","proCode":"530000","city":"德宏州","cityCode":"533100","region":"","regionCode":"0","addr":"云南省德宏州 联通","regionNames":"","err":""}

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

0 人点赞