js屏蔽地区

其实不需要后台代码也可以获取地区信息的,就算是后台代码,也得需要引用一些第三方库提供免费的api接口才可以,最后还是反序列化才能得到想要的数据,那干嘛不直接找,提供好json格式的api接口,拿来js就直接用呢?

我最开始了解到一些大型网站提供ip库应该是属淘宝ip最全面了吧;确实挺全的 不过缺点是 短时间内同一ip不能访问频率过快,还有就是ajax不能直接获取他的数据,必须通过后端代码来实现.

因此,我在网上找到了下面这个接口 感觉挺好用的,分享给你们。

直接通过异步访问,不需要后端代码就可以获取地址详细信息,很全面,感觉比淘宝ip库还全面。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

<script type="text/javascript" src="php高级/jquery-3.4.1.min.js"></script>

<!--搜狐ip库:http://pv.sohu.com/cityjson(默认GBK编码,修改编码加参数 ?ie=utf-8)-->
<script type="text/javascript" src="http://pv.sohu.com/cityjson"></script>
<script type="text/javascript">
$(function(){
  var ip = returnCitySN.cip;
  console.log("通过搜狗ip库得到当前ip为:"+ip);

  $.get("http://api.online-service.vip/ip3?ip="+ip,function(e){
    console.log(e); //打印日志信息。根据日志信息获取自己需要的字段
    alert('你当前ip为:'+ip+';所属国家:'+e.data.country+';省:'+e.data.province+';市:'+e.data.city);
  })

//第二种:下面这条api接口通过的信息就比较全面了,感觉比淘宝的还要好用得多
  $.ajax({
    url:"http://api.online-service.vip/ip?ip=" + ip ,
    type:'GET',
    dataType:'JSON', // 处理Ajax跨域问题
    success: function(e){
      console.log(e); //打印日志信息。根据日志信息获取自己需要的字段
      alert(e.city.geoname_id);
    }
  });
});
</script>

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

以上代码仅写在html页面即可!常用来屏蔽一些地区,限制用户访问,判断没有写,数据都得到了,判断语句自己写很简单的了。

猜你喜欢

转载自www.cnblogs.com/longxinyv/p/11581248.html