PHP代码
<?php
header('Content-type: application/json;charset=utf-8');
header('Access-Control-Allow-Origin:*');
$ip = $_REQUEST['ip'];
$port = $_REQUEST['port'];
if(empty($ip&&$port)){
$Json=[
"code"=>"201",
"msg"=>"IP和端口不能为空",
"time"=>date('Y-m-d H:i:s',time()),
"data"=>[],
];
$Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
echo stripslashes($Json);die;
}
$fp = fsockopen($ip,$port,$errno,$errstr,1);
if(strpos($errstr,"getaddrinfo failed")!==false||strpos($errstr,"Unable to find the socket")!==false){//strpos($errstr,"Connection timed out")!==false||
$Json=[
"code"=>"202",
"msg"=>"IP或域名连接失败",
"time"=>date('Y-m-d H:i:s',time()),
"data"=>[],
];
$Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
echo stripslashes($Json);die;
}
$Json=[
"code"=>"200",
"msg"=>"success",
"time"=>date('Y-m-d H:i:s',time()),
"data"=>[
"ip"=>$ip,
"port"=>$port,
"status"=>!$fp?0:1,
],
];
$Json = json_encode($Json,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
echo stripslashes($Json);
?>
使用方法
请求方式:GET/POST
返回格式:JSON
请求参数说明:
名称 | 是否必填 | 说明 |
---|
ip | 是 | 需要检测端口的IP或域名 |
port | 是 | 需要检测的端口 |
返回参数说明:
名称 | 说明 |
---|
code | 状态码 |
msg | 返回提示信息 |
time | 请求时间 |
ip | 返回查询的IP或域名 |
port | 返回查询的端口 |
status | 端口状态。1:开启 ;0:关闭 |
返回示例:
{
"code": "200",
"msg": "success",
"time": "2024-01-14 17:34:02",
"data": {
"ip": "223.5.5.5",
"port": "53",
"status": 1
}
}
错误码说明:
名称 | 说明 |
---|
201 | IP或端口不能为空 |
202 | IP或域名连接失败 |
本文共1505个字符,其中有 138 个汉字,平均阅读时长 ≈ 5分钟
评论