telnet HTTP/1.1 400 错误请求的问题

Posted

技术标签:

【中文标题】telnet HTTP/1.1 400 错误请求的问题【英文标题】:problem with telnet HTTP/1.1 400 Bad Request 【发布时间】:2021-07-23 20:57:52 【问题描述】:

我试图这样做:

Telnet 进入 Web 服务器并发送多行请求消息。在请求消息中包含 If-modified-since: 标题行,以强制使用 304 Not Modified 状态代码的响应消息。

所以我做了下面的步骤

telnet example.com 80

然后

GET /index.html HTTP/1.1
Host: example.com

然后两个进入。 我得到了一些信息。 我加了

If-modified-since: Thu, 17 Oct 2019 06:18:26 GMT

但仍然没有 304 未修改。

this is what I get after GEt and Host

HTTP/1.0 501 Not Implemented
Content-Type: text/html
Content-Length: 357
Connection: close
Date: Fri, 30 Apr 2021 16:10:33 GMT
Server: ECSF (dcb/7F80)

【问题讨论】:

你现在得到什么状态码? @Exampleperson 我真的很困惑,在 GET 和 Host 之后它给了我一些信息和一些代码,当我再次输入时,如果再次修改一些代码和“连接丢失”。 服务器可能有问题。 显示完整的请求。 @Exampleperson 它隐藏在 cmd 中,这正是我上面写的。我做错什么了吗?? 【参考方案1】:

HTTP/1.1 需要 Host 标头。 您的要求应该是:

GET /index.html HTTP/1.1
Host: hostname.tld

编辑:

如果您已经包含 Host 标头,请显示您的完整 HTTP 请求。当然,您需要隐藏私人信息。

如果你连接到 example.com:

GET /index.html HTTP/1.1
Host: example.com


【讨论】:

主机名应该是网站的地址吧?仍然我没有得到 304 未修改:( @negar,应该是网站的域名。包括子域。示例:因此,如果您连接到 www.google.com,则为 www.google.com,如果您连接到 google.com,则为 google.com。 @negar 显示您的完整 HTTP 请求。您当然可以在显示时隐藏任何私人信息 你能给我举个例子吗? @negar 现在看看我的回答

以上是关于telnet HTTP/1.1 400 错误请求的问题的主要内容,如果未能解决你的问题,请参考以下文章

HTTP 请求失败! HTTP/1.1 400 错误请求

获取 HTTP/1.1 400 错误请求

逻辑错误的 HTTP 400(错误请求),不是格式错误的请求语法

Jetty 在格式错误的 HTTP POST 标头上返回“HTTP/1.1 400 Bad Request”。这是预期的吗?

使用telnet发送HTTP请求报文

如何使用 telnet 发出请求?