写一个shell脚本来telnet一个http网站?
Posted
技术标签:
【中文标题】写一个shell脚本来telnet一个http网站?【英文标题】:Write a shell script to telnet a http webstie? 【发布时间】:2011-07-09 07:42:21 【问题描述】:我可以在终端中远程登录一个 HTTP 网站,例如
$telnet 111.111.111.111 2222
Trying 111.111.111.111...
Connected to 111.111.111.111.
Escape character is '^]'.
然后我可以输入:
GET /url/page.php HTTP/1.1"
HOST: 111.111.111.111
输入两次回车后,我可以得到页面。 有谁知道如何使用 shell 脚本来做到这一点? 我想获得与使用上述命令相同的结果。谢谢。
【问题讨论】:
【参考方案1】:您应该使用wget
或curl
之类的程序来下载网页;那些会为您处理协议细节。如果绝对必须直接发送字符,请查看nc
命令;您可能需要使用 expect
编写脚本。
【讨论】:
感谢您的快速回复。是的,我需要发送协议请求,但使用 telnet 或 nc 没关系。你能给我一个使用 telnet 或 nc 执行此操作的示例吗? @Chris:您发送的是有效的 HTTP 请求吗?一个真正的 HTTP 程序比手工编写更容易完成这项工作。不过,请参阅 ***.com/questions/642707/… 了解nc
方向。
其实不是。我需要使用协议。感谢您的链接。我尝试将 http 协议放入一个单独的文件中,并使用 i
标志将其重定向到 nc
,这很有效。当我使用管道时,我注意到 printf"request1\nrequest2\r\n\r\n" | nc...
works 但如果我在 2 个请求中间使用 \r\n
,它只会返回标头。关于\n
和\r\n
之间区别的任何想法?
看来没有人再看这个问题了...无论如何,谢谢您的帮助。以上是关于写一个shell脚本来telnet一个http网站?的主要内容,如果未能解决你的问题,请参考以下文章
Linux写一个shell脚本,要实现在键盘输入一个进程号,输出这个进程号的子进程pid,怎么写?
linux的shell脚本能进行http操作吗 get post ,比如一个不需要验证码的网站 脚本登录之后,获取某一页面的