快捷搜索:   服务器  PHP  安全  IIS  linux 安全

常用的IP地址查询接口API及IP查询接口调用方法

最近在调试笨牛网的站长工具箱(http://tools.bnxb.com),在网上找了一大堆接口,最终用了淘宝的接口实现查询IP地址和IP归属地功能,今天就将整理的常用IP地址查询接口及调用方法分享一下:

腾讯IP地址查询接口:http://fw.qq.com/ipaddress
新浪IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
搜狐IP地址查询接口:http://pv.sohu.com/cityjson
谷歌IP地址查询接口:http://j.maxmind.com/app/geoip.js
有道IP地址查询接口:http://www.youdao.com/smartresult-xml/search.s

360IP地址查询接口:   http://ip.360.cn/IPQuery/ipquery?ip=访客的IP
1616 IP地址查询接口:http://w.1616.net/chaxun/iptolocal.php
126 http://ip.ws.126.net/ipquery?ip=yourip
hao123 http://app.hao123.com/ipquery/getcity.php?rtype=2
淘宝 http://ip.taobao.com/service/getIpInfo.php?ip=117.89.35.58
太平洋电脑网 http://whois.pconline.com.cn/

百度:https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=要查询的IP&co=&resource_id=6006&t=1488163851795&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery1102007553074611919763_1488163568327&_=1488163568331


   设计蜂巢接口调用方法
API请求地址 : http://www.hujuntao.com/api/ip/ip.php?参数
参数说明:
IP : IP地址 可选
format : 输出格式 json 可选 默认为JS
JSON调用示例:
请求地址:http://www.hujuntao.com/api/ip/ip.php?callback=jquery17107324279078748077_1327024991339&format=json&_=1327024991363
{
“ip”: “117.89.35.58″,
“province”: “u6c5fu82cf”,
“city”: “u5357u4eac”
}


腾讯接口调用方法
<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script><script type="text/javascript">// < ![CDATA[
// < ![CDATA[
//反回格式如下: //var IPData = new Array("117.89.35.98","","江苏省","南京市"); console.log(IPData[0] ',' IPData[2] ',' IPData[3]) //117.89.35.98,江苏省,南京市
// ]]></script>

该方法已经不可用,访问http://fw.qq.com/ipaddre显示&ldquo;The page you are looking for is temporarily unavailable.
Please try again later.&rdquo;。腾讯对Referer做了判断,虽然可以通过PHP伪造Referer,但是实际测试中获得的是服务器的IP地址而不是客户端的IP地址。我们一起鄙视一下腾讯。


新浪接口调用方法

新浪这个应该说是最不错的。并且返回的数据类型为可以自定义格式(默认为纯文本格式,根据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;
?>

另外一个例子,用CURL

<?php 
function getIPLoc_sina($queryIP){    
$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$queryIP;    
$ch = curl_init($url);     
curl_setopt($ch,CURLOPT_ENCODING ,'utf8');     
curl_setopt($ch, CURLOPT_TIMEOUT, 5);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 获取数据返回  
$location = curl_exec($ch);    
$location = json_decode($location);    
curl_close($ch);         
$loc = "";   
if($location===FALSE) return "";     
if (empty($location->desc)) {    
$loc = $location->province.$location->city.$location->district.$location->isp;  
}else{         $loc = $location->desc;    
}    
return $loc;
}
echo getIPLoc_sina("183.37.209.57");
?>

返回值数据格式:

var remote_ip_info = {“ret”:1,”start”:”59.37.164.179″,”end”:”59.37.165.17″,”country”:”u4e2du56fd”,”province”:”u5e7fu4e1c”,”city”:”u6c5fu95e8″,”district”:””,”isp”:”u7535u4fe1″,”type”:””,”desc”:””};

附:JQuery下的getScript()方法:

<div id="sina_ip_info"></div>
<script src="http://code.jquery.com/jquery-1.7.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
var uip = '8.8.8.8';
$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip='+uip, function(_result){
var ipData = ""; //初始化保存内容变量
if (remote_ip_info.ret == '1'){
ipData += "IP 详细信息:<br>";
ipData += "IP:" + uip + "<br>";
ipData += "国家:" + remote_ip_info.country + "<br>";
ipData += "省份:" + remote_ip_info.province + "<br>";
ipData += "城市:" + remote_ip_info.city + "<br>";
ipData += "区:" + remote_ip_info.district + "<br>";
ipData += "ISP:" + remote_ip_info.isp + "<br>";
ipData += "类型:" + remote_ip_info.type + "<br>";
ipData += "其他:" + remote_ip_info.desc + "<br>";
$("#sina_ip_info").html(ipData); //显示处理后的数据
} else {
alert('错误', '没有找到匹配的 IP 地址信息!');
}
});
</script>



搜狐接口调用方法
<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script type="text/javascript">// < ![CDATA[
// < ![CDATA[
//默认为GBK可通过ie参数设置编码 console.log(returnCitySN["cip"] ',' returnCitySN["cname"])//117.89.35.98,江苏省南京市
// ]]></script>

谷歌接口调用方法
据说是谷歌的,不知道是不是真的。
<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script><script type="text/javascript">// < ![CDATA[
// < ![CDATA[
console.log(geoip_country_name() ',' geoip_region_name() ',' geoip_city())//China,Jiangsu,Nanjing
// ]]></script>

有道接口调用方法
调用接口示例:http://www.youdao.com/smartresult-xml/search.s?type=ip&q=123.233.157.9
返回XML数据
<?xml version=&rdquo;1.0&Prime; encoding=&rdquo;gbk&rdquo;?>
<smartresult>
<product type=&rdquo;ip&rdquo;>
<ip>123.233.157.9</ip>
<location>山东省济南市 网通</location>
</product>
</smartresult>
或者
http://www.youdao.com/smartresult-xml/search.s?jsFlag=true&keyfrom=163.com&event=fYodaoCallBack&type=ip&q=192.168.1.1
返回JSON数据
fYodaoCallBack(1, {&lsquo;product&rsquo;:'ip&rsquo;,'ip&rsquo;:&rsquo;192.168.1.1&prime;,&rsquo;location&rsquo;:'局域网 对方和您在同一内部网&rsquo;} , &rdquo;);


126 IP API

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

http://ip.ws.126.net/ipquery?ip=yourip

使用方法非常简单,已知的参数只有一个ip,也就是你要查询的ip地址。

返回的数据是一个js脚本,如下所示

var lo="广东省", lc="广州市"; var localAddress={city:"广州市", province:"广东省"}

其中lo是地址所在省,lc为地址所在市,localAddress为归属地地址的json格式数据。

使用该api非常简单,直接在前端引用该api即可。


例如:

<script src='http://ip.ws.126.net/ipquery?ip=114.114.114.114'></script>

<script>

console.log(lo+' '+lc); //广东省 广州市

</script>

或者通过ajax调用(将以下代码复制到html文件即可预览效果。)

例如:

<!DOCTYPE html>

<html>

<head> 

<title>测试</title> 

<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> 

</head> 

<body> 

<input type="textarea" id="ip" /> 

<br />

<br /> 

<input type="textarea" id="result" /> 

<br />

<br /> 

<input type="button" value="查询" id="query" /> 

<script>

$(document).ready(function(){

$('#query').click(function(){

$.getScript('http://ip.ws.126.net/ipquery?ip='+$('#ip').val(),

function(){

$('#result').val(lo + " "+ lc);

}

); 

})

});

</script> 

</body>

</html>


淘宝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);
?>



付笨牛网调用淘宝的代码:

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论