更多>>PHP程序设计 Blog
来源:一度好 时间:2017-08-10 阅读:6898
目前比较常用的根据IP地址获取所在地区的API如下有:新浪IP地址获取地区接口、淘宝IP地址获取地区接口。
1、新浪IP地址获取地区接口
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=
其中传递的参数中format的值,可选的为:json、js
封装函数如下:
$ip = '113.17.174.45';
/** * 新浪IP获取地区接口 * 调用:get_ip_area_sina('113.17.174.45') * 返回值:数组:country国家,province省,city市 */ function get_ip_area_sina($ip = ''){ if(empty($ip)){ return '请输入IP地址'; } $area_info = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$ip); if(empty($area_info)){ return false; } $jsonMatches = array(); preg_match('#\{.+?\}#', $area_info, $jsonMatches); if(!isset($jsonMatches[0])){ return false; } $ipinfo = json_decode($jsonMatches[0], true); if(isset($ipinfo['ret']) && $ipinfo['ret'] == 1){ $ipinfo['ip'] = $ip; }else{ return false; } return $ipinfo; } $data = get_ip_area_sina($ip); echo $data['country']; print_r($data);
2、淘宝IP地址获取地区接口
淘宝IP地址库官网地址:http://ip.taobao.com/
http://ip.taobao.com/service/getIpInfo.php?ip=
不过淘宝对访问次数有限制,官网说明如下:
为了保障服务正常运行,每个用户的访问频率需小于10qps。
这里有个 qps 的概念,那么什么是qps呢?
qps是指每秒内查询的次数。如10qps,表示1秒内可执行10次。
封装函数如下:
/** * 淘宝IP获取地区接口 * 调用:get_ip_area_taobao('113.17.174.45') * 返回值:数组:country国家,region省,city市 */ function get_ip_area_taobao($ip = ''){ if(empty($ip)){ return '请输入IP地址'; } $area_info = @file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip); $area_info = json_decode($area_info, true); if(isset($area_info['code']) && $area_info['code'] == 0){ $ipinfo = $area_info['data']; }else{ return false; } return $ipinfo; } $data = get_ip_area_taobao($ip); echo $data['country']; print_r($data);
评论列表 |
暂时没有相关记录
|
发表评论