检测IP端口是否开放API

检测IP端口是否开放API

陌路离殇
2024-10-26 / 0 评论 / 9 阅读 / 正在检测是否收录...

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);
?>


使用方法

请求示例:http://localhost/scanport.php?ip=223.5.5.5&port=53
请求方式: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
    }
}
错误码说明:
名称说明
201IP或端口不能为空
202IP或域名连接失败

本文共1505个字符,其中有 138 个汉字,平均阅读时长 ≈ 5分钟
0

打赏

海报

正在生成.....

评论

博主关闭了所有页面的评论