当前位置: 首页 > api商店 > IP查询Api接口详情
IP查询

已调用:24万次

  • 首次赠送100次
  • {{ng_buyapi.formatMoney(500)}}次
  • {{ng_buyapi.formatMoney(1000)}}次
  • {{ng_buyapi.formatMoney(5000)}}次
  • {{ng_buyapi.formatMoney(10000)}}次

价格:{{ng_buyapi.buy_sale}}元 按次 (会员免费)

立即购买 首次可获赠100次
接口简介:可进行ip地址的查询,返回ip相关信息:所在国家、城市、服务器名称以及具体的经纬度,高精度接口误差范围约在3公里范围之内
  • Api文档
  • 状态码说明
  • 请求示例

接口地址: https://登录后显示/pyi/54/232(支持:http/https)

返回格式:json,xml

请求方式:GET,POST

Api测试工具

请求说明:

名称 必填 类型 说明 示例
appid String 应用ID,在后台我的应用查看或者添加 1
cip String 查询的ip地址,即IPv4地址 114.114.114.114
format String 返回数据格式类型,每个接口已经说明支持返回格式:json,xml json
sign String 参数按一定规则md5后返回的字符串,详情点击这里阅读 52a9dbe274a5c537bbf7a53e2d66c09f
time String 请求时传递的当前服务器时间戳 1545829466

加密顺序

sign = MD5( appid1cip114.114.114.114formatjsontime1545829466密钥) 查看加密规则说明
红色部分代表参数值,appid默认为1,请修改为自己的appid值,去我的应用查看以及密钥
*注意:空值不参与加密。

返回参数说明:

名称 必填 类型 说明 示例
adcode String 邮政编码 320102
address String 地址 江苏省南京市玄武区北京东路41号
city String 所属城市 南京市
city_code String 城市代码 156320100
codeid Integer 状态码,返回10000状态都会进行计费。具体说明可查看状态码说明 10000
district String 县市区 玄武区
lat Double 纬度 32.083332
lng Double 经度 118.909348
location Array 经纬度
message String 请求状态说明 查询成功
name String 姓名 中国,江苏省,南京市,玄武区
nation String 所在国家 中国
nation_code String 国家代号 156
province String 银行卡所属省份 江苏省
retdata Array 回数据集合,可能是数据、对象或者字符串
time String 请求时传递的当前服务器时间戳 1594633029

JSON返回示例:

服务器状态码:

状态码 说明
10009 api接口不存在
10013 该接口已经暂停使用
10001 appid必须指定,可以我的应用里面查看
10006 当前IP地址未授权,请前往用户中心->我的应用添加ip
10007 应用被禁用,请联系客服处理
10017 time必须是整型
10021 服务器发生错误
10004 时差不能超过10分钟,可以不传递这个参数,注意时间戳单位是秒
10018 次数不足
10019 发生错误:{@info}
10010 您没有订购该api
10015 参数个数错误
10014 未知的错误,可以联系客服处理
10005 appid错误,请检查appid值,前往会员中心->我的应用查看或添加
10020 子接口不存在,可能已经被关闭
10003 sign值验证不通过,加密规则请前往帮助中心查看
10000 返回成功
10011 api已经到期
10002 sign值必须指定,加密规则请前往帮助中心查看
10008 应用内没有该接口,请到我的应用里面添加这个接口
10012 没有订购任何api,请前往购买后再操作

请选择开发语言:

  • PHP
  • Python
$api_url = 'https://登录后显示/pyi/54/232';
$appid  =   '应用id';// 在后台我的应用查看;
$secret =   '应用密钥';// 在后台我的应用查看;
$data = array(
                'appid'=>  '1',
                'cip'=>  '114.114.114.114',
                'format'=>  'json',
                'time'=>  '1545829466',
            );
$data['appid'] = $appid;
$data['time'] = time();//当前服务器时间
ksort($data); //按照键名对数组排序,为数组值保留原来的键。
$md5String = '';
foreach($data as $key=>$val){
    if(strlen($val)>0){ //过滤空值
        $md5String.=$key.$val;
    }
}
$sign = md5($md5String.$secret);
$data['sign'] = $sign;
$sendUrl = $api_url.'?'.http_build_query($data); //把数据转换成url参数形式,a=b&c=d&e=f
$result = file_get_contents($sendUrl);
print_r($result);
                        
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
#该代码为python3.7示例代码
import ssl,time,hashlib,string
from urllib import request,parse,error;
from urllib.parse import quote


api_url = 'https://登录后显示/pyi/54/232';
appid  =   '应用id';#在后台我的应用查看;
secret =   '应用密钥';#在后台我的应用查看;
data = {
                'appid':'1',
                'cip':'114.114.114.114',
                'format':'json',
                'time':'1545829466',
            };
data['appid'] = appid;
data['time'] = round(time.time());#当前服务器时间
keysArr = list(data.keys()) #取出字典key
keysArr.sort()#对字典key进行排序
md5String = '';
params = []
for key in keysArr:
    if data[key]:
        val = str(data[key])
        md5String+=key+val
        params.append(key + "=" + val )
md5String += secret;
m = hashlib.md5()
b = md5String.encode(encoding='utf-8')
m.update(b)
sign = m.hexdigest()

params.append('sign='+sign)#加入计算后的sign值去请求
params = '&'.join(tuple(params)); #把列表转成元组后用&分隔,最终转换成字符串 a=b&c=d&e=f

ssl._create_default_https_context = ssl._create_unverified_context
url = api_url+'?'+params;
url = quote(url, safe=string.printable)
req = request.Request(url)
opener = request.build_opener()
r = opener.open(fullurl=req)

doc = r.read();
print(doc.decode('utf-8'))