淘宝IP地址库

提供的服务包括:
1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服务内容。

优势:

1. 提供国家、省、市、县、运营商全方位信息,信息维度广,格式规范。
2. 提供完善的统计分析报表,省准确度超过99.8%,市准确度超过96.8%,数据质量有保障。

接口使用例子(PHP):

<?php
$ip = @file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$_GET["ip"]);
$ip = json_decode($ip,true);
?>

新浪IP API

新浪这个应该说是最不错的。并且返回的数据类型为可以自定义格式(默认为纯文本格式,根据format的参数定义,还可以返回JS、Json格式。下面列举的是JS的格式)。

接口使用例子(PHP):

<?php
$ip = @file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$_GET["ip"]);
echo $ip;
?>

返回值数据格式:

var remote_ip_info = {“ret”:1,”start”:”59.37.164.179″,”end”:”59.37.165.17″,”country”:”\u4e2d\u56fd”,”province”:”\u5e7f\u4e1c”,”city”:”\u6c5f\u95e8″,”district”:””,”isp”:”\u7535\u4fe1″,”type”:””,”desc”:””};

126 IP API

126提供的这个功能方面不如新浪但是数据相对来说是比较准确的。

<?php
$ip = @file_get_contents("http://ip.ws.126.net/ipquery?ip=".$_GET["ip"]);
echo $ip;
?>

返回值数据格式:

var lo="北京市", lc="朝阳区"; var localAddress={city:"朝阳区", province:"北京市"};

新浪IP API

新浪也提供有免费的IP查询API接口

<?php
echo @file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=".$_GET["ip"]);
?>

返回值数据格式:

var remote_ip_info = {"ret":1,"start":"59.40.0.0","end":"59.40.255.255","country":"\u4e2d\u56fd","province":"\u5e7f\u4e1c","city":"\u6df1\u5733","district":"","isp":"\u7535\u4fe1","type":"","desc":""};

如果不用 @file_get_contents 函数 用 curl_init() 比较稳定

代码如下:

<?php
function geturldata($url){ 
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
	$content = curl_exec($ch);
	return $content;
}
$ip="这里是IP地址";
$get_api='http://ip.taobao.com/service/getIpInfo.php?ip=';//用的淘宝API
$getipurl=$get_api.$ip;
$ipaddress = geturldata($getipurl);
$ipaddress=json_decode($ipaddress,true);
print_r($ipaddress);
?>