成长值: 258 签到天数: 4711 天 [LV.Master]伴坛终老
|
发表于 2014/9/17 19:18
|
显示全部楼层
|阅读模式
| Google Chrome 32.0.1700.76 | Windows XP
淘宝ip地址库提供免费的ip信息查询,可查询ip所在国家、区域、省份、城市及运营商等信息。不需要认证不需要注册,唯一的小缺陷就是限制美妙查询频率不能高于10次。
一、关于淘宝IP地址库
http://ip.taobao.com/
目前提供的服务包括:
1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服务内容。
我们的优势:
1. 提供国家、省、市、县、运营商全方位信息,信息维度广,格式规范。
2. 提供完善的统计分析报表,省准确度超过99.8%,市准确度超过96.8%,数据质量有保障。
二、接口说明
1. 请求接口(GET):
http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]
2. 响应信息:
(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
3. 返回数据格式:
- {"code":0,"data":{"ip":"210.75.225.254","country":"u4e2du56fd","area":"u534eu5317",
- "region":"u5317u4eacu5e02","city":"u5317u4eacu5e02","county":"","isp":"u7535u4fe1",
- "country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",
- "county_id":"-1","isp_id":"100017"}}
复制代码
其中code的值的含义为,0:成功,1:失败。
注意:为了保障服务正常运行,每个用户的访问频率需小于10qps。
三、IP库包含数据
1. IP数量统计
2. IP准确度、覆盖度统计
四、IP库能干些什么事情?
1.提醒用户不在常用地登录
2.全球报表
3.全国性报表
4.按提供商来做全国报表
5.按地区来统计提供商
6.其它
五、PHP调用实例
- <?php
- /**
- * 获取用户真实 IP
- */
- function getIP(){
- static $realip;
- if (isset($_SERVER)){
- if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
- $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
- } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
- $realip = $_SERVER["HTTP_CLIENT_IP"];
- } else {
- $realip = $_SERVER["REMOTE_ADDR"];
- }
- }else {
- if (getenv("HTTP_X_FORWARDED_FOR")){
- $realip = getenv("HTTP_X_FORWARDED_FOR");
- } else if (getenv("HTTP_CLIENT_IP")) {
- $realip = getenv("HTTP_CLIENT_IP");
- } else {
- $realip = getenv("REMOTE_ADDR");
- }
- }
- return $realip;
- }
-
- /**
- * 获取 IP 地理位置
- * 淘宝IP接口
- * @Return: array
- */
- function getCity($ip)
- {
- $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
- $ip=json_decode(file_get_contents($url));
- if((string)$ip->code=='1'){
- return false;
- }
- $data = (array)$ip->data;
- return $data;
- }
- print_r(getCity('123.22.34.213'));
- ?>
复制代码
六:C#调用实例
- TaobaoIP result1 = TaobaoIPHelper.GetIP("8.8.8.8");
- if (result1.code == 0)
- {
- Console.WriteLine(string.Format("调用成功。该ip的国家为{0},省份为{1},城市为{2},运营商为{3}"
- , result1.data.country, result1.data.region, result1.data.city, result1.data.isp)
- );
- }
- else
- {
- Console.WriteLine("失败,原因为:"+result1.errorMsg);
- }
- TaobaoIP[] result2 = TaobaoIPHelper.GetDomain("lixin.me");
- foreach (TaobaoIP item in result2)
- {
- if (item.code == 0)
- {
- Console.WriteLine(string.Format("调用成功。该ip的国家为{0},省份为{1},城市为{2},运营商为{3}"
- , item.data.country, item.data.region, item.data.city, item.data.isp)
- );
- }
- else
- {
- Console.WriteLine("失败,原因为:" + item.errorMsg);
- }
- }
复制代码
|
|