如何通过命令行以多行形式向 HTTP 服务器发送请求?

Posted

技术标签:

【中文标题】如何通过命令行以多行形式向 HTTP 服务器发送请求?【英文标题】:How to send a Request to HTTP server in multiline form through command line? 【发布时间】:2013-07-10 23:36:54 【问题描述】:

我想通过命令行(Telnet 客户端)向 html 页面发送请求,但我做不到。

我写:

GET / HTTP/1.1

然后当我想移动到下一行以写入主机名并按“enter”键时,它不会这样做,它只是执行该命令并显示:“Invailed command”。我尝试设置 localecho 和 crlf,但没有成功。

有人可以帮帮我吗?

【问题讨论】:

为了清楚起见,我想写成它的实际形式:GET /index.cfm?test=1 HTTP/1.1 host: www.myserver.com 【参考方案1】:

我会说你刚刚开始 telnet 没有任何额外的命令行选项。 您必须使用您请求的服务器名称和端口号来启动它:

$ telnet some.page.com 80

然后它应该可以工作了。

你也可以在telnet中指定服务器和端口:

telnet> open google.com 80

【讨论】:

好吧,我做到了,但我想手动运行请求。我该怎么做? 手动是指它的外观和结构: 对不起,我真的不明白你所说的“手动”是什么意思。我写的所有内容都是“手动”完成的。你能改写一下这个问题吗? 手动我的意思是完全发送请求,就像它真正发送到浏览器的方式一样,包括方法、页面名称、服务器版本和主机。例如:GET / HTTP/1.1 主机:www.google.com 我很困惑.. 究竟是什么阻止了你这样做?为了让自己清楚 - 我的意思是:1)运行telnet,2)写open google.com 80,3)写你的请求:GET / HTTP/1.1<Enter>Host: www.google.com<Enter><Enter> - 完成。这行得通吗?

以上是关于如何通过命令行以多行形式向 HTTP 服务器发送请求?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SSH 连接向 Telnet 发送命令

数据交互 http请求 xhr

如何通过 AWS HTTP API 向 Lambda 发送参数

如何通过azure设备配置服务从azure功能向iot设备发送自定义错误消息?

通过 JSch shell 通道向服务器发送命令

如何使用lwIP堆栈发送简单的HTTP请求?