<?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){
$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或域名连接失败 |