我在尝试测试 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 提示符。从那里您可以运行quit
或Control+D退出。
也就是说,向 Ask Ubuntu 服务器扔一堆垃圾(比如一堆^C
s,后面跟着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 提到的那样通过quit
或Control+离开D。
答案4
您可以使用此命令退出 telnet:
echo quit | telnet servername portnumber