
| 接口编号: 501 | 接口名称: IP地址归属地查询 | 连接应用: 2465个 |
| 应用编号: 101001 | 应用标识: ip.get | 服务商: NowAPI |
说明
ip归属地查询接口,我们不仅仅只查询IP地址归属地信息,还需要知道运营商、数字地址、所属IP段等相关数据;本接口支持直接输入域名查询(参数ip=域名即可),直接使用本接口您不必维护庞大的IP数据库,方便、快捷、省事、省心。 测试示例: https://sapi.k780.com/?app=ip.get&ip=202.96.128.1&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json (示例中sign会不定期调整)
请求网址
HTTP: http://api.k780.com
HTTPS: https://sapi.k780.com
请求方式
Get/Post
请求Header
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
请求参数
| 参数 | 类型 | 是否必须 | 备注 |
|---|---|---|---|
| app | string | 是 | ip.get |
| ip | string | 是 | ip地址域名 例如:8.8.8.8 www.baidu.com |
| appkey | string | 是 | 使用API的唯一凭证 获取 |
| sign | string | 是 | md5后的32位密文,登陆用. 获取 |
| format | {json|xml} | 否 | 返回数据格式 |
| jsoncallback | string | 否 | js跨域使用jsonp时可使用此参数 |
Json请求示例
http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=APPKEY&sign=SIGN&format=json
JsonP请求示例
http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=APPKEY&sign=SIGN&format=json&jsoncallback=data
Xml请求示例
http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=APPKEY&sign=SIGN&format=xml
Json返回示例
1. 正常结果
{
success: "1",
result: {
status: "OK",
ip: "202.96.128.166", /*查询的IP*/
ip_str: "202.96.128.1",/*所属IP段开始*/
ip_end: "202.96.128.254", /*所属IP段结束*/
inet_ip: "3395322022",/*数字地址*/
inet_str: "3395321857", /*数字地址段开始*/
inet_end: "3395322110", /*数字地址段结束*/
areano: "020", /*区号*/
postno: "510000", /*邮编*/
operators: "电信", /*运营商*/
att: "中国,广东,广州", /*归属地*/
detailed: "中国广东广州 电信", /*详细归属地*/
area_style_simcall: "中国,广东,广州",/*归属地样式1*/
area_style_areanm: "中华人民共和国,广东省,广州市"/*归属地样式2*/
}
}
2.等待系统处理 (此种情况不扣量/扣费)
{
"success":"1",
"result":{
"status":"WAIT_PROCESS",
"ip":"8.8.8.8",
"msg":"..."
}
}
3.无归属地信息
{
"success":"1",
"result":{
"status":"NO_DATA",
"ip":"8.8.8.8",
"msg":"..."
}
}示例代码
<?php
header("Content-Type:text/html;charset=UTF-8");
function nowapiRequest($postData,&$errMsg=''){
$apiUrl = 'https://sapi.k780.com/';
$useContext = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => http_build_query($postData)
)
));
if(!$resData=file_get_contents($apiUrl,false,$useContext)){
$errMsg = 'ERR_CONNECT';
return false;
}
if(!$arrData=json_decode($resData,true)){
$errMsg = 'ERR_DECODE';
return false;
}
if($arrData['success']!=1){
$errMsg = $arrData['msgid'].' '.$arrData['msg'];
return false;
}
return $arrData['result'];
}
$postData['app'] = 'ip.get';
$postData['ip'] = '202.96.128.166';
$postData['appkey'] = '10003';//替换成自己的appkey
$postData['sign'] = 'b59bc3ef6191eb9f747dd4e83c99f2a4';//替换成自己的sign
$postData['format'] = 'json';
$result = nowapiRequest($postData,$errMsg);
print_r($errMsg);
print_r($result);
#python
import json,urllib
from urllib import urlencode
url = 'http://api.k780.com'
params = {
'app' : 'ip.get',
'ip' : '202.96.128.166',
'appkey' : 'APPKEY',
'sign' : 'SIGN',
'format' : 'json',
}
params = urlencode(params)
f = urllib.urlopen('%s?%s' % (url, params))
nowapi_call = f.read()
#print content
a_result = json.loads(nowapi_call)
if a_result:
if a_result['success'] != '0':
print a_result['result'];
else:
print a_result['msgid']+' '+a_result['msg']
else:
print 'Request nowapi fail.';
import java.net.*;
import java.io.*;
public class test{
public static void main(String args[]) throws Exception {
URL u=new URL("http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=APPKEY&sign=SIGN&format=json");
InputStream in=u.openStream();
ByteArrayOutputStream out=new ByteArrayOutputStream();
try {
byte buf[]=new byte[1024];
int read = 0;
while ((read = in.read(buf)) > 0) {
out.write(buf, 0, read);
}
} finally {
if (in != null) {
in.close();
}
}
byte b[]=out.toByteArray( );
System.out.println(new String(b,"utf-8"));
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="https://www.nowapi.com/style/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type : 'get',
async : false,
url : 'http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=APPKEY&sign=SIGN&format=json&jsoncallback=data',
dataType : 'jsonp',
jsonp : 'callback',
jsonpCallback : 'data',
success : function(data){
if(data.success!='1'){
alert(data.msgid+' '+data.msg);
exit;
}
//遍历
var description = "";
for(var i in data.result){
var property=data.result[i];
description+=i+" = "+property+"\n";
}
alert(description);
},
error:function(){
alert('fail');
}
});
});
</script>
</head>
<body>
</body>
</html>curl "http://api.k780.com/?app=ip.get&ip=202.96.128.166&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
流量包套餐说明:
买多少用多少,多买有优惠,10元起买,适合大多数应用场景.
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 201 | 流量包 10000 次 | 10 元 | 约 0.001 元/次 |
| 202 | 流量包 111000 次 | 100 元 | 约 0.0009 元/次 |
| 204 | 流量包 375000 次 | 300 元 | 约 0.0008 元/次 |
| 205 | 流量包 666000 次 | 500 元 | 约 0.00075 元/次 |
| 206 | 流量包 1428000 次 | 1000 元 | 约 0.0007 元/次 |
| 208 | 流量包 5000000 次 | 3000 元 | 约 0.0006 元/次 |
| 209 | 流量包 10000000 次 | 5000 元 | 约 0.0005 元/次 |
| 210 | 流量包 25000000 次 | 10000 元 | 约 0.0004 元/次 |
包月套餐说明:
适合调用量比较平均的高频应用场景;有配额限制,超出配额会被暂停调用1小时,请留意购买足够配额.
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 101 | 1000 次配额/每小时 | 48 元/月 | - |
| 102 | 2000 次配额/每小时 | 87 元/月 | 省¥9 |
| 103 | 3000 次配额/每小时 | 130 元/月 | 省¥14 |
| 104 | 5000 次配额/每小时 | 218 元/月 | 省¥22 |
| 105 | 10000 次配额/每小时 | 439 元/月 | 省¥41 |
| 106 | 20000 次配额/每小时 | 883 元/月 | 省¥77 |
| 107 | 30000 次配额/每小时 | 1332 元/月 | 省¥108 |
| 108 | 40000 次配额/每小时 | 1786 元/月 | 省¥134 |
| 109 | 50000 次配额/每小时 | 2244 元/月 | 省¥156 |
| 110 | 150000 次配额/每小时 | 5998 元/月 | 省¥1202 |
免费试用套餐说明:
商用请选择付费套餐。 (系统繁忙或极端情况下,优先保证付费用户使用).
| 规格 | 套餐名称 | 价格 | 描述 |
|---|---|---|---|
| 0 | 试用套餐 100 次/每小时 | 0 元/月 | 可免费续约(现),试用次数不够可联系客服增加 |