js获取ip的弊端

JavaScript015

js获取ip的弊端,第1张

js获取ip的弊端是依然受IP白名单等授权限制。

由于代理IP资源是从代理IP服务商那里购买的,授权也是在代理服务商那里完成,所以还是会受到授权限制,比如支持2个IP白名单,那么自己搭建本地IP池后,依然只能在两个IP白名单上使用。

IP在TCP/IP参考模型中处于第三层,也就是网络层。网络层的主要作用是:实现主机与主机之间的通信,也叫点对点(endtoend)通信。

如何用js或者jquery获取客户端的IP地址:

$.getJSON("http://chaxun.1616.net/ip.htm",

function (data) {

alert(data.ip)

}).error(function () { alert("获取IP失败请联网查询")})

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。

IP地址类型

公有地址:

公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址:

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

以下列出留用的内部私有地址:

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

通过navigator.onLine判断当前网络状态:

if(navigator.onLine){

...}else{ ...}

非常简单,但是并不准确-根据MDN的描述:

navigator.onLine只会在机器未连接到局域网或路由器时返回false,其他情况下均返回true。

也就是说,机器连接上路由器后,即使这个路由器没联通网络,navigator.onLine仍然返回true。