今天老王给大家分享一个纯 JavaScript 获取客户端 IP 地址以及用户所在地的方法,只要客户访问了你的网站,你就可以得到这个用户的 IP 地址,以及省份和城市。
第一个可以用的是搜狐的 API:https://pv.sohu.com/cityjson?ie=utf-8
API 返回格式:
var returnCitySN = {"cip": "132.12.31.3", "cid": "321000", "cname": "江苏省扬州市"};
其中 cip 就是 IP 地址,cname 就是城市名称。
js 用法:
<script type=”text/javascript”src=”https://pv.sohu.com/cityjson?ie=utf-8″></script>
<script type=”text/javascript”>document.write(returnCitySN[“cip”]+’,’+returnCitySN[“cname”]) </script>
另外还有一个 api.ipify.org 目前也是可用的。
js 用法 1:
<script type=”application/javascript”>
function getIP(json) {
document.write(“My public IP address is: “, json.ip);
}
</script>
<script type=”application/javascript” src=”https://api.ipify.org?format=jsonp&callback=getIP”></script>
js 用法 2:
$.getJSON('https://api.ipify.org?format=json', function(data){ console.log(data.ip); });
之前似乎新浪也有接口(http://counter.sina.com.cn/ip/),但是现在打不开了。