如何使用 Telnet 生成 HTTP POST 请求?

Posted

技术标签:

【中文标题】如何使用 Telnet 生成 HTTP POST 请求?【英文标题】:How to generate an HTTP POST request using Telnet? 【发布时间】:2018-02-09 13:28:35 【问题描述】:

有人知道如何将 HTTP 正文参数添加到请求中吗?我尝试过类似...

telnet xxxx.com 80
Trying 128.x.xxx.45...
Connected to xxxx.com.
Escape character is '^]'.
POST /webapps/methods/check-post HTTP/1.1
Host: xxxx.com
Content-Type: application/json; charset=utf-8
"id":"myid","color":"blue"

但我收到了“400 错误请求”响应

HTTP/1.1 400 Bad Request
Date: Thu, 31 Aug 2017 13:54:32 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 311
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.18 (Ubuntu) Server at xxxx.com Port 80</address>
</body></html>
Connection closed by foreign host.

谁能帮助我使用 Telnet 设置正确的 HTTP 发布请求和参数?

【问题讨论】:

How to send a POST request through telnet的可能重复 【参考方案1】:

只需在 HTTP 请求标头和 HTTP 请求正文之间添加一个空行即可。参数应类似于:key1=value1&amp;key2=value2

【讨论】:

以上是关于如何使用 Telnet 生成 HTTP POST 请求?的主要内容,如果未能解决你的问题,请参考以下文章

纯 sh + telnet 中的 HTTP POST 文件:没有 curl,没有 wget

HTTP系列二: 使用telnet模拟http请求

如何通过 telnet 发送 POST 请求

不能通过 telnet 发送 POST 变量?

如何通过 telnet POST REQUEST 保存文件?

Shockwave 播放器如何生成 HTTP POST 请求?