IP 地址信息查询 API 接口(支持 IPv4 & IPv6)

IP 地址信息查询 API 接口(支持 IPv4 & IPv6)

由万码云开发平台提供的 IP 地址信息查询 API 接口,支持查询 IPv4 & IPv6 地址对应的大洲、国家或地区、城市等信息,以及时区、经纬度、网络范围等附加数据。API 响应快速,适用于网络优化、安全分析、位置服务等多种场景,为开发者提供便捷的地理信息查询工具。

接口地址(免费版)

POST https://wcode.net/api/ip/v3/info/free

注:免费版接口限制并发为 12 QPM(Query Per Minute,每分钟处理请求数)

接口地址(并发版)

并发服务费用:1元/2000次(按调用次数付费,即每调用 2000 次 IP 地址信息查询 API 接口的费用为 1 元),费用充值:https://wcode.net/apikey-recharge,费用发票:https://wcode.net/get-fapiao

POST https://wcode.net/api/ip/v3/info

请求方法

GET / POST

快速开始(请求示例)

(注:以下请求示例中的 API_KEY 需要替换后再发起请求。 获取 API_KEY 入口:https://wcode.net/get-apikey

curl --request GET 'https://wcode.net/api/ip/v3/info/free?ip=114.80.176.55' --header 'Authorization: Bearer API_KEY'

请求头(Request Headers)

Header 备注 示例 相关链接
Authorization Bearer API_KEY 格式:Bearer + 空格 + API_KEY Bearer sk-..... 获取 API_KEY 入口:https://wcode.net/get-apikey
Content-Type application/json 固定为 application/json

请求参数

参数 必填 参数类型 默认值 说明
ip string - 要查询的 IP 地址(支持 IPv4 & IPv6)

返回参数

返回参数 数据类型 说明
status string 请求成功返回success,失败返回failed
error_message string 接口返回的错误消息。当statussuccess时,error_message为空字符串
error_code int 或 null 接口返回的错误码。当statussuccess时,error_codenull
data object 或 null 接口返回的数据。当statusfailed时,datanull
data.continent object 大洲信息
data.region object 地区信息
data.subdivision object 细分地区信息
data.city object 城市信息
data.extra_info object 附加信息

(⚠️当dataobject时,data内任意子字段的值都有可能为null,请开发者根据实际情况处理空值,避免程序异常或逻辑错误)

响应头(Response Headers)

Header 说明 示例 相关链接
X-Account-Balance API_KEY 余额(元) 123.0165 API_KEY 费用充值入口:https://wcode.net/apikey-recharge


Python 代码示例(Requests)

import requests
import json

url = "https://wcode.net/api/ip/v3/info/free?ip=114.80.176.55"

payload = {}

headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer API_KEY'     # TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Java 代码示例(OkHttp)

OkHttpClient client = new OkHttpClient().newBuilder().build();

MediaType mediaType = MediaType.parse("text/plain");

RequestBody body = RequestBody.create(mediaType, "");

Request request = new Request.Builder()
  .url("https://wcode.net/api/ip/v3/info/free?ip=114.80.176.55")
  .method("GET", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer API_KEY")     // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
  .build();

Response response = client.newCall(request).execute();

PHP 代码示例(Guzzle)

<?php

$client = new Client();

$headers = [
  'Authorization' => 'Bearer API_KEY'     // TODO: 这里的 API_KEY 需要替换,获取 API_KEY 入口:https://wcode.net/get-apikey
];

$request = new Request('GET', 'https://wcode.net/api/ip/v3/info/free?ip=114.80.176.55', $headers);

$res = $client->sendAsync($request)->wait();

echo $res->getBody();

(...其他编程语言可参考下方 curl http 请求示例进行调用)



请求示例 1(IPv4,GET请求)

curl --request GET 'https://wcode.net/api/ip/v3/info/free?ip=114.80.176.55' --header 'Authorization: Bearer API_KEY'

响应示例 1

{
    "status": "success",
    "error_message": "",
    "error_code": null,
    "data": {
        "continent": {
            "code": "AS",
            "name": "亚洲",
            "name_en": "Asia"
        },
        "region": {
            "iso_code": "CN",
            "name": "中国",
            "name_en": "China"
        },
        "subdivision": {
            "iso_code": "SH",
            "name": "上海",
            "name_en": "Shanghai"
        },
        "city": {
            "name": "上海",
            "name_en": "Shanghai"
        },
        "extra_info": {
            "ip_address": "114.80.176.55",
            "ip_network": "114.80.0.0/16",
            "time_zone": "Asia/Shanghai",
            "latitude": 31.2222,
            "longitude": 121.4581,
            "accuracy_radius": "10km"
        }
    }
}

请求示例 2(IPv6,POST请求)

curl --request POST 'https://wcode.net/api/ip/v3/info/free' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer API_KEY' \
--data '{
    "ip": "240e:96c:6000:2503:3::3d9"
}'

响应示例 2

{
    "status": "success",
    "error_message": "",
    "error_code": null,
    "data": {
        "continent": {
            "code": "AS",
            "name": "亚洲",
            "name_en": "Asia"
        },
        "region": {
            "iso_code": "CN",
            "name": "中国",
            "name_en": "China"
        },
        "subdivision": {
            "iso_code": null,
            "name": null,
            "name_en": null
        },
        "city": {
            "name": null,
            "name_en": null
        },
        "extra_info": {
            "ip_address": "240e:96c:6000:2503:3::3d9",
            "ip_network": "240e:800::/21",
            "time_zone": "Asia/Shanghai",
            "latitude": 34.7732,
            "longitude": 113.722,
            "accuracy_radius": "1000km"
        }
    }
}

异常响应示例

{
    "status": "failed",
    "error_message": "ip 必须是有效的 IP 地址。",
    "error_code": 400,
    "data": null
}