gpt4 book ai didi

go - goexpect,检查telnet是否打开的最快方法

转载 作者:行者123 更新时间:2023-12-01 22:26:48 29 4
gpt4 key购买 nike

我正在使用goexpect连接到多个wi-fi接入点。
对于其中一些,我需要使用telnet,对于其他人,则需要使用SSH。

因此,我需要最快的方法来检查telnet是否为某些IP打开。

现在的代码看起来像

e, _, err := expect.Spawn(fmt.Sprintf("telnet %s", ip), -1)
res, _, err := e.Expect(userRE, timeout) // we expect user prompt
if err != nil {
// if timeout, pass control to code block which handle SSH connection
}

我想有一种更好更快的方法来判断telnet是否已打开。
有什么建议么?

最佳答案

在获取github.com/reiver/go-telnet软件包后,这对我有用:

package main

import (
"fmt"

"github.com/reiver/go-telnet"
)

func main() {
address := "127.0.0.1:8080"
_, err := telnet.DialTo(address)
if err != nil {
fmt.Println(err)
fmt.Println("Telnet closed")
} else {
fmt.Println("Telnet open")
}
}

关于go - goexpect,检查telnet是否打开的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59498351/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com