我有一个在 localhost:port 上运行的服务。在一个 bash 脚本中,我想连接到这个端口,发送一个请求,然后读回响应——本质上是自动化一个 telnet 会话。这样做的最佳方法是什么?我正在查看 /dev/tcp、netcat 或 telnet/expect。
谢谢
netcat 应该几乎可以做你想做的事。
Expect就是为了完成这项精确的任务而构建的。它不仅可以处理客户端/服务器对话框,还可以处理超时、断开连接等场景。它可用于多种实现(Perl 和 Tcl 是我最想不到的两个),因此您可以选择一个适合您当前的标准和环境。
我相信您可以自动执行此操作,我记得看到 telnet 命令(使用 Ctrl+M 标记来模拟回车)并将这些命令放入文本文件并发出
远程登录某个主机并且输出被发送到标准输出(您的终端),然后可以被捕获。
希望这会有所帮助,最好的问候,汤姆。
PS:这里是在命令行中使用这个找到的东西的链接。
如果你可以让它做你想做的事情,Expect 是很棒的:只需阅读手册页就可以轻松获取和使用它。