javascript通过新浪ip库查询ip地址信息
今天遇到博客加载十分缓慢,首页数据库查询43次,却耗时20秒+,着实让人心惊胆颤,连忙联系了主机商,经过查询是因为程序查询了ip地址信息导致页面加载延长。
关于查询ip地址信息,前面文章说到过:点击查看详情
正因为使用PHP后台查询,导致页面加载延迟。既然这样,我们是否可以在页面打开之后再查询新浪ip的ip信息呢?
- $.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip="+ip
- ,function()
- {
- if(remote_ip_info.ret==1)
- {
- var c=remote_ip_info.country,//国家
- p=remote_ip_info.province,//省份
- i=remote_ip_info.city,//城市
- d=remote_ip_info.desc,//详细
- s=c+''+p+'省'+i+'市'+d;
- ;
- }
- else
- {
- var s=ip+'信息无法查询';
- }
- console.log(s);
- });
如上,请求js,返回一个全局变量remote_ip_info,是一个json对象。如:
- $.getScript("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=123.123.123.123"
- ,function()
- {
- console.log(remote_ip_info);
- });
返回的信息:
- city: "北京"
- country: "中国"
- desc: ""
- district: ""
- end: "123.123.154.255"
- isp: "联通"
- province: "北京"
- ret: 1
- start: "123.123.115.0"
- type: ""
如果ip信息错误,返回的是:
- ip: "127.0.0.1"
- ret: -1
通过判断返回的ret值即可判断是否包含ip信息。
原文链接:http://qianduanblog.com/post/javascript-sina-ip-library.html

浙公网安备 33010602011771号