基本信息
IPPlus 提供了简单易用的 Web API,用于查询 IP 地址的详细信息。
API 端点
https://api.ip.plus/{ip}
将 {ip} 替换为您想查询的 IP 地址。例如:
https://api.ip.plus/8.8.8.8
IPv4 和 IPv6 专用 API
我们还提供了专门用于 IPv4 和 IPv6 的 API 端点:
- IPv4 only: https://api4.ip.plus/{ip}
- IPv6 only: https://api6.ip.plus/{ip}
这些专用端点可以确保只接受和处理相应的 IP 地址类型,提高查询的精确性和效率。
请求方法
GET
响应格式
返回数据为 JSON 格式。
响应示例
成功响应
{
"code": 200,
"message": "Success",
"data": {
"ip": "8.8.8.8",
"country_code": "US",
"country": "美国",
"subdivisions": "加州",
"city": "洛杉矶",
"latitude": 34.0544,
"longitude": -118.2441,
"time_zone": "America/Los_Angeles",
"asn": "AS15169",
"as_name": "Google LLC",
"as_domain": "google.com"
},
"timestamp": 1686688888
}
响应字段说明
- code: 响应状态码
- message: 响应状态描述
- data: 查询结果数据
- ip: 查询的IP地址
- country_code: 国家/地区的两字母代码
- country: 国家/地区的中文名称
- subdivisions: 州/省/行政区
- city: 城市名称
- latitude: 纬度
- longitude: 经度
- time_zone: 时区
- asn: 自治系统编号
- as_name: 自治系统名称
- as_domain: 自治系统域名
- timestamp: 响应时间戳(Unix 时间戳)
错误响应
当输入 IP 格式不正确时返回以下错误:
{
"code": 400,
"message": "Not a valid IP address",
"timestamp": 1686688888
}
错误代码
- 400: 无效的IP地址
- 404: 未找到IP信息
- 429: 请求过于频繁
- 500: 服务器内部错误
示例代码
PHP
$ip = "8.8.8.8";
$url = "https://api.ip.plus/" . $ip;
$response = file_get_contents($url);
$data = json_decode($response, true);
print_r($data);
Python
import requests
ip = "8.8.8.8"
url = f"https://api.ip.plus/{ip}"
response = requests.get(url)
data = response.json()
print(data)
TypeScript
import axios from 'axios';
async function getIpInfo(ip: string): Promise {
try {
const url = `https://api.ip.plus/${ip}`;
const response = await axios.get(url);
console.log(response.data);
} catch (error) {
console.error('Error fetching IP info:', error);
}
}
getIpInfo('8.8.8.8');
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
ip := "8.8.8.8"
url := fmt.Sprintf("https://api.ip.plus/%s", ip)
resp, err := http.Get(url)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
var result map[string]interface{}
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("IP info for %s:\n", ip)
fmt.Printf("%+v\n", result)
}
使用限制和政策
IPPlus API 免费用于非商业用途。我们不限制访问,但要求合理使用和署名。通常情况,请保持日请求数在 10,000 次以下。
请注意,我们保留阻止滥用我们服务的应用程序和 IP 地址的权利。
- 每日请求限制:10,000 次
- 我们会尽力保证数据的准确性,但不对因数据误差导致的任何损失负责