通过telnet获得对简单HTTP GET请求的“ 400错误请求”响应

皮埃尔·卡特(PierreCathé)

我正在学习一些网络知识,并且在第一个练习中遇到了问题:
我应该使用telnet将基本的HTTP GET请求发送到httpbin.org。
这是我输入的内容:

$ telnet www.httpbin.org 80
Trying 23.23.171.5...
Connected to www.httpbin.org.herokudns.com.
Escape character is '^]'.
GET /ip HTTP/1.0

这就是我得到的:

HTTP/1.1 400 Bad Request
Server: Cowboy
Date: Tue, 09 Jan 2018 20:06:36 GMT
Content-Length: 0

我究竟做错了什么?

散布

问题是在需要HTTP 1.1(并且Host:标头是HTTP 1.1的强制性部分)的服务器上使用HTTP 1.0 ,这可能是因为它可能是在一个IP地址上对多个网站进行虚拟托管。也许它位于HTTP负载平衡器或反向代理的后面,而该负载或反向代理基本上在做相同的事情:在一个IP地址和端口后面支持多个单独的Web服务器域名。

这对我有用:

$ telnet www.httpbin.org 80
正在尝试23.23.171.5 ...
已连接到www.httpbin.org.herokudns.com。
转义字符为'^]'。
GET / ip HTTP / 1.1
主机:www.httpbin.org

……我回来了……

HTTP / 1.1 200 OK
连接:keep-alive
服务器:meinheld / 0.6.1
日期:Tue,09 Jan 2018 22:01:19 GMT
内容类型:application / json 
Access-Control-Allow-Origin:* 
Access-Control- Allow-Credentials:true 
X-Powered-By:Flask 
X-Processed-Time:0.000454902648926 
Content-Length:32
通过:1.1 vegur 

{ 
  “ origin”:“ [我的IPv4地址已编辑]” 
} 

^] 
telnet> close 
$

请注意,连接保持打开状态,我不得不退出telnet>提示关闭窗口。我可以通过Connection: close在请求中添加标头来避免这种情况

如果您尝试使用带有Host:标头的HTTP / 1.1,但它仍然对您不起作用,请确保您的telnet客户端发送的是CRLF,而不仅仅是回车符或换行符。确保在最后一行之后以一个额外的CRLF结束请求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HTTP GET发出400错误请求(telnet,arduino)

来自分类Dev

HTTP请求:400错误

来自分类Dev

在WebResponse响应处获得的Paypal 400错误请求错误响应= request.GetResponse();

来自分类Dev

调试400错误请求响应

来自分类Dev

AJAX请求的“ 400错误请求”响应

来自分类Dev

HTTP请求错误与响应错误

来自分类Dev

PayPal付款请求返回HTTP 400响应

来自分类Dev

file_get_contents中的HTTP / 1.1 400错误请求

来自分类Dev

使用 HTTPURLConnection 的 Docker 容器之间的 400 错误 HTTP GET 请求

来自分类Dev

http:// localhost:3000 / api / stuff的Http失败响应:400错误的请求

来自分类Dev

使用php发送GET请求时出现HTTP 400错误请求错误

来自分类Dev

HTTPError:HTTP错误400:错误的请求

来自分类Dev

如何修复 HTTP 错误 400:错误请求?

来自分类Dev

AngularJS $http Get 方法错误,如“对预检请求的响应”

来自分类Dev

HTTP多部分请求出现400错误的请求错误

来自分类Dev

通过TCP套接字发送手工制作的HTTP请求时,为什么会收到HTTP 400错误请求响应?

来自分类Dev

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

来自分类Dev

AJAX POST请求中的HTTP错误400

来自分类Dev

$http post 方法的 400 错误请求

来自分类Dev

PHP Curl HTTP/1.1 400 错误请求

来自分类Dev

C++ Http POST 400 错误请求

来自分类Dev

PHP NuSoap中的XML请求-“ HTTP / 1.1 400错误请求”

来自分类Dev

响应代码:400 响应消息:错误请求 Apache jmeter

来自分类Dev

Scrapy在请求中获得400错误请求,该请求与浏览器请求相同

来自分类Dev

从 Java 应用程序到 TFS REST API 的 HTTP PATCH 请求获得 400(错误请求)错误

来自分类Dev

非常简单的AngularJS $ http POST结果为“ 400(错误请求)”和“无效的HTTP状态代码400”

来自分类Dev

如何获得http请求的响应

来自分类Dev

使用Indy HTTP的Delphi Google oauth2令牌请求获得400错误请求

来自分类Dev

简单的xml请求(GET)

Related 相关文章

  1. 1

    HTTP GET发出400错误请求(telnet,arduino)

  2. 2

    HTTP请求:400错误

  3. 3

    在WebResponse响应处获得的Paypal 400错误请求错误响应= request.GetResponse();

  4. 4

    调试400错误请求响应

  5. 5

    AJAX请求的“ 400错误请求”响应

  6. 6

    HTTP请求错误与响应错误

  7. 7

    PayPal付款请求返回HTTP 400响应

  8. 8

    file_get_contents中的HTTP / 1.1 400错误请求

  9. 9

    使用 HTTPURLConnection 的 Docker 容器之间的 400 错误 HTTP GET 请求

  10. 10

    http:// localhost:3000 / api / stuff的Http失败响应:400错误的请求

  11. 11

    使用php发送GET请求时出现HTTP 400错误请求错误

  12. 12

    HTTPError:HTTP错误400:错误的请求

  13. 13

    如何修复 HTTP 错误 400:错误请求?

  14. 14

    AngularJS $http Get 方法错误,如“对预检请求的响应”

  15. 15

    HTTP多部分请求出现400错误的请求错误

  16. 16

    通过TCP套接字发送手工制作的HTTP请求时,为什么会收到HTTP 400错误请求响应?

  17. 17

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

  18. 18

    AJAX POST请求中的HTTP错误400

  19. 19

    $http post 方法的 400 错误请求

  20. 20

    PHP Curl HTTP/1.1 400 错误请求

  21. 21

    C++ Http POST 400 错误请求

  22. 22

    PHP NuSoap中的XML请求-“ HTTP / 1.1 400错误请求”

  23. 23

    响应代码:400 响应消息:错误请求 Apache jmeter

  24. 24

    Scrapy在请求中获得400错误请求,该请求与浏览器请求相同

  25. 25

    从 Java 应用程序到 TFS REST API 的 HTTP PATCH 请求获得 400(错误请求)错误

  26. 26

    非常简单的AngularJS $ http POST结果为“ 400(错误请求)”和“无效的HTTP状态代码400”

  27. 27

    如何获得http请求的响应

  28. 28

    使用Indy HTTP的Delphi Google oauth2令牌请求获得400错误请求

  29. 29

    简单的xml请求(GET)

热门标签

归档