获取访问的ip地址

最近有一个这样的需求:{

  内网没有访问互联网的权限(没网)

  内网:访问链接地址,跳转http://www.123.com

  外网:访问链接地址,跳转http;//www.456.com

}  

在网上看到一些获取访问网站的ip地址的方法

一、通过第三方接口的方式

  http://pv.sohu.com/cityjson?ie=utf-8

  ...

等多种接口,这边就不一一列举了,感兴趣的小伙伴可以去百度自行查证。

二、修改本地设置IIS来限制ip

  IIS这边和上边的需求不是很一样是一个限制作用

  打开IIS,设置拒绝访问的ip就可以了

具体设置请自行百度

三、实用jsonp的跨域来获取ip

代码如下:


 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <title>Document</title>
 8 </head>
 9 
10 <body>
11     <a href="#" id="demo">进入内网</a>
12 </body>
13 
14 </html>
15 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
16 <script>
17     $("#demo").click(function () {
18         $.getJSON("http://jsonip.com/?callback=?", function (data) {
19             console.log(data);//这边data获取的数据
20             if (data.ip.indexOf('18.101.') != -1) { //内网ip段
21                 window.location.href = "http://www.123.com" //内网地址
22             } else {
23                 window.location.href = "http://www.456.com" //外网地址      
24             }
25         })
26     })
27 
28 </script>

说明:需求说内网没有网,所以引入jquery的方式不能是cdn的方式,应该将jquery放到本地并将其引入。

posted @ 2020-08-30 14:37  百炼终成王  阅读(1239)  评论(0编辑  收藏  举报