IP2LOC 国内IP地址查询API

2010-11-28 09:56:45 by 【6yang】, 197 visits, 收藏 | 返回

这是什么?

这是一个在Google App Engine上搭建的提供中文国内IP地址查询的服务。与一般同类服务稍有区别的是这里主要是提供了一个简单的API,你可以将IP地址查询的结果以 JSON或XML格式取得,应用在你的服务当中。

输入你要查询的IP地址:

上海市长宁区 /普陀区电信

API参数说明

提供的API地址如下

GET http://ip2loc.appspot.com/q/?ip={ip}

其中提供参数:

参数 意义 备注
ip 需要查询的IP 只支持IPv4格式,如255.255.255.255
alt 返回数据格式 可选格式为json, xml, plainnew。不提供该参数则默认返回json格式数据

返回的数据中,c,a为递进的位置关系。所有数据都采用UTF-8编码。

例如

GET http://ip2loc.appspot.com/q/?ip=11.22.33.44

返回结果为

{ "c":"美国", "a":"DoD网络信息中心" }

返回xml格式

GET http://ip2loc.appspot.com/q/?ip=11.22.33.44&alt=xml

返回结果为

<?xml version="1.0" encoding="UTF-8"?>
 <addr>
  <c>美国</c>
  <a>DoD网络信息中心</a>
 </addr>

返回plain格式new

GET http://ip2loc.appspot.com/q/?ip=11.22.33.44&alt=plain

返回结果为文本,c和a之间以换行符隔开

美国
DoD网络信息中心

这是如何做到的?

本站使用web.py搭建,使用了著名的纯真IP数据库
用Python查询纯真IP库的方法使用了这篇文章中介绍的程序。
这里可以下载本站的源代码

有地方需要改进?

对于web api和web开发我都不是非常熟悉,
如果你发现这个API使用中有什么问题,或者发现需要有改进的地方,
请邮件联系我: jagttt在gmail

当前IP数据库更新日期:2009.07.20
2010.07.23 加入plain返回格式

 

<?php
/**
  * 获取ip地址
  *@param string $ip 要查询的IP地址 IPV4 点分十进制 如119.112.63.25
  *@param string $format  格式化输出 enum: xml,json(default),plain
  *@return IP 所在城市和所属网络运营商
  */
function getIP($ip,$format)
{
     $url = "http://ip2loc.appspot.com/q/?ip={$ip}&alt={$format}";
     return  file_get_contents($url);
}
//如

$ip=$_SERVER["REMOTE_ADDR"];
$ipinfo=getIP($ip,'json');
//$ipinfo = json_decode($ipinfo,1)+array('ip'=>$ip);
print_r($ipinfo);

//输出
/*
Array
(
     [c] => 北京市
     [a] => 电信
     [ip] => 60.247.119.202
)
*/
?>

分享到:
share

    图片原图

    loading

    loading