获取访问的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放到本地并将其引入。