Bash脚本连接到打开的端口,发送请求,读取响应
我有一个在localhost:port上运行的服务。在bash脚本中,我希望连接到这个端口,发送请求,并读回响应——本质上是使telnet会话自动化。最好的方法是什么?我正在查看/dev/tcp、netcat或telnet/expectBash脚本连接到打开的端口,发送请求,读取响应,bash,sockets,telnet,netcat,Bash,Sockets,Telnet,Netcat,我有一个在localhost:port上运行的服务。在bash脚本中,我希望连接到这个端口,发送请求,并读回响应——本质上是使telnet会话自动化。最好的方法是什么?我正在查看/dev/tcp、netcat或telnet/expect 谢谢netcat应该可以做你想做的事情。如果你能让它做你想做的事情,Expect是很棒的:只需阅读手册页,它就很容易学习和使用。就是为了完成这个精确的任务而设计的。它不仅可以处理客户机/服务器对话框,还可以处理超时、断开连接等情况。它有多种实现(Perl和Tcl
谢谢netcat应该可以做你想做的事情。如果你能让它做你想做的事情,Expect是很棒的:只需阅读手册页,它就很容易学习和使用。就是为了完成这个精确的任务而设计的。它不仅可以处理客户机/服务器对话框,还可以处理超时、断开连接等情况。它有多种实现(Perl和Tcl是我脑海中的两种),因此您可以选择一种来适应当前的标准和环境。我相信您可以自动完成这项工作,我记得看到过telnet命令(使用Ctrl+M标记模拟回车)并将这些命令放入文本文件并发出 telnet主机 输出被发送到标准输出(您的终端),然后可以捕获 希望这有帮助, 顺致敬意, 汤姆
附言:这里有一个链接,指向在命令行中使用此命令可以找到的内容。正如antik&Brian Agnew所提到的,expect似乎是更简单的解决方案。:)但就我所知,expect实际上需要一个特定的响应,例如“密码”。在这种情况下,我不知道我会得到什么-我只想阅读任何返回的内容。我想你应该能够通配符这个