检查ip端口请求

This commit is contained in:
TsMask
2023-08-18 11:01:35 +08:00
parent ab4f3b1691
commit 15b324a436
2 changed files with 31 additions and 0 deletions

View File

@@ -1,7 +1,10 @@
package psnet
import (
"fmt"
"net"
"net/http"
"time"
"ems.agt/lib/log"
"ems.agt/lib/services"
@@ -16,6 +19,9 @@ var (
UriWs = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/ws"
// 停止进程
UriStop = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/stop"
// 检查ip端口请求
UriPing = config.DefaultUriPrefix + "/monitor/{apiVersion}/psnet/ping"
)
// 进程管理
@@ -60,3 +66,27 @@ func StopProcess(w http.ResponseWriter, r *http.Request) {
}
services.ResponseStatusOK200Null(w)
}
// 检查ip端口请求
func Ping(w http.ResponseWriter, r *http.Request) {
// json 請求參數獲取
var bodyArgs struct {
Host string `json:"host" validate:"required"`
Port string `json:"port" validate:"required"`
}
err := services.ShouldBindJSON(r, &bodyArgs)
if err != nil {
log.Error("io.ReadAll is failed:", err)
services.ResponseErrorWithJson(w, 400, err.Error())
return
}
conn, err := net.DialTimeout("tcp", fmt.Sprintf("%s:%s", bodyArgs.Host, bodyArgs.Port), 3*time.Second)
if err != nil {
services.ResponseErrorWithJson(w, 400, err.Error())
return
}
defer conn.Close()
services.ResponseStatusOK200Null(w)
}