一、接口是什么
PING 接口-PLUS 全球版是一个第三方 Ping 探测 API,由接口盒子自研并发多线检测协议,调度全球 20+ 国家、数十个检测节点对你指定的 IP / 域名发起 Ping,一般 3–15 秒即可返回各地节点的延时结果。
相比自己在服务器上 ping一下,它的核心价值是:
- ✅ 视角全球化 —— 全球20多个检测点
- ✅ 可定向 —— 支持
dy参数指定单个城市节点,也支持dy=0一次性拉全节点 - ✅ 附带地理/IP 情报 —— 返回目标 IP、实际 host、所属运营商、经纬度;
二、请求说明
- 请求地址:
https://接口盒子/api/wangzhan/pingplus.php - 请求方式:GET 或 POST 均可
- 超时建议:单次请求 ≥ 20 秒(因为要等全球节点并发回包)
请求参数
参数 |
必填 |
说明 |
id |
✅ |
用户中心的数字 ID,例: |
key |
✅ |
用户中心通讯秘钥 |
host |
✅ |
要 Ping 的目标 IP 或域名,域名不要带 http://,例: |
dy |
❌ |
检测地域编号,默认 |
四、返回数据结构
最外层:
json
json
{ "code": 200, // 200 成功,400 错误 "msg": "信息提示", "datas": [ ... ] // 各节点 Ping 结果数组 }
datas[]单节点核心字段:
字段 |
含义 |
|
节点级状态码,200 / 400 |
|
Ping 延时(ms),因节点负载/网络波动建议多次取参考 |
|
目标 host |
|
目标实际解析 host(CNAME 链终点) |
|
目标 IP |
|
检测节点线路描述,如"中国-上海-BGP-2" |
五、调用示例
下面用示例域名 www.***.cn演示,请把 id/ key换成你自己的。
1️⃣ GET 调用(浏览器 / curl 都能测)
bash
bash
curl "https://接口盒子/api/wangzhan/pingplus.php?id=88888888&key=88888888&dy=0&host=www.***.cn"
dy=0会触发全球全节点并发,返回几十个节点的 datas[]。
2️⃣ PHP 示例(cURL GET)
php
php
<?php /** * PING 接口 PLUS 全球版 - PHP 调用示例 */ $api = 'https://接口盒子/api/wangzhan/pingplus.php'; $id = '你的ID'; $key = '你的KEY'; $host = 'www.***.cn'; $dy = 0; // 0=全节点, 也可换 1/2/100/923 等 $url = $api . '?id=' . $id . '&key=' . $key . '&dy=' . $dy . '&host=' . $host; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 25); // 建议 ≥20 秒 $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true); if ($data['code'] == 200) { foreach ($data['datas'] as $node) { printf( "%-22s | %s ms | IP:%s\n", $node['jdxlmsg'], $node['totime'], $node['toip'] ); } } else { echo '接口错误:' . $data['msg'] . PHP_EOL; }
如果要走 POST,把 curl_setopt($ch, CURLOPT_POST, true)加上,参数放 CURLOPT_POSTFIELDS即可,逻辑一样。
3️⃣ Python 示例(requests)
python
python
""" PING 接口 PLUS 全球版 - Python 调用示例 pip install requests """ import requests API = "https://接口盒子/api/wangzhan/pingplus.php" ID = "你的ID" KEY = "你的KEY" HOST = "www.***.cn" DY = 0 params = { "id": ID, "key": KEY, "host": HOST, "dy": DY } r = requests.get(API, params=params, timeout=25) r.raise_for_status() data = r.json() if data["code"] == 200: print(f"目标 {HOST} 全球 Ping 结果:\n") for node in data["datas"]: if node["code"] == 200: print( f"{node['jdxlmsg']:<22s}" f" | {node['totime']:>4s} ms" f" | IP:{node['toip']}" ) else: print(f"{node.get('jdxlmsg','--')} 失败:{node.get('msg','')}") else: print("接口错误:", data["msg"])
六、几个容易踩的坑
- 超时别设太短 —— 全球节点并发回包慢,接口方建议调用侧超时 >20 秒,否则可能拿到半截或空
datas - 域名别带协议头 ——
host=https://www.xxx.com❌,host=www.xxx.com✅
七、一句话定位
如果你需要一个不用自己布海外机、又能一次性看全球几十个点 Ping 延迟的接口,这个 PLUS 版算是免费 API 里节点覆盖比较全的一档,PHP / Python 几行就能接进监控脚本,做站点出海前的网络摸底挺合适。