通过 telnet 连接后如何退出?

通过 telnet 连接后如何退出?

我在尝试测试 github 项目的基于 CLI 的网页浏览时,通过 askubuntu.com 80 建立了 telnet 连接。我已通过端口 80 建立了连接,但现在我无法执行任何操作,甚至无法退出。有没有办法退出这种连接?CTRL+c不起作用,其他组合键也不起作用。

关闭选项卡可能是答案,但这不是我想要的,因为我打算通过 telnet 运行脚本,并且我不想安装任何浏览器(如 lynx 或其他任何东西)。我只想使用我们在 Ubuntu 中的默认程序。

答案1

$ telnet askubuntu.com 80
Trying 151.101.1.69...
Connected to askubuntu.com.
Escape character is '^]'.

最后一行就是线索。Control+]将您带回到主 telnet 提示符。从那里您可以运行quitControl+D退出。

也就是说,向 Ask Ubuntu 服务器扔一堆垃圾(比如一堆^Cs,后面跟着Return)仍然会看到服务器做出响应(通过关闭连接)。

$ telnet askubuntu.com 80
Trying 151.101.129.69...
Connected to askubuntu.com.
Escape character is '^]'.
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C

Connection closed by foreign host.

您的描述听起来好像事实并非如此。如果情况确实如此,我会加载另一个终端killall telnet(假设您不想保留其他会话),或者关闭您运行此程序的终端仿真器并创建一个新的。

答案2

考虑到你正在尝试做的事情最好的方法是

$ telnet askubuntu.com 80
Trying 151.101.129.69...
Connected to askubuntu.com.
Escape character is '^]'.
GET /path/to/whatever HTTP/1.1
Host: askubuntu.com
Connection: close

HTTP/1.1 200 OK ...

<HTML><HEAD> ...
</BODY></HTML>
Connection closed by foreign host
$

当您输入内容时,您可能看不到您这边的对话,如果您像我一样,会犯很多拼写错误,而且没有办法改正它们;但是当您去编写此处的脚本时,这个问题就不存在了。

答案3

对我来说,我尝试过按住Control并尝试了从1到 的所有操作0
我发现Control+5对我有用。它让我回到主 telnet 提示符,然后从这里你可以像 @Oli 提到的那样通过quitControl+离开D

答案4

您可以使用此命令退出 telnet:

echo quit | telnet servername portnumber

相关内容