telnet发送http请求
telnet工具,作为一个后端开发人员肯定很熟悉了。
一般使用场景是用来探测指定端口是否开发。
今天在解决一个http服务问题的时候,突发奇想:tlenet可以发送http请求吗?
这里直接说答案,可以:因为http是文本协议的 贴上代码:
1
2
3
4
GET /test HTTP/1.0
Host: 127.0.0.1
以上代码修改下请求路径,在telnet连上端口后,直接复制粘贴即可发送http get 请求,注意后面的两个空行!
这里简单说下这个想法产生的原因:
上面说到http服务一个问题,其实也不是问题,主要是这个服务表现很奇怪:telnet端口探测是开放的,但是使用浏览器访问却会被阻塞,也就是一直卡在加载页面,没有超时,永远等待!
我是用telnet探测端口是开放的,然后telnet随便敲点输入,服务端也可以返回http响应。
如图:
但如果我使用http协议访问则阻塞,一直等待。这里奇怪点在于,你说他不是http服务把,你不符合http协议的请求会响应http错误,但是你请求符合http协议的内容他又卡死。TMD
后来搞清楚了,原来是因为那个端口的服务是一个代理服务,如果请求的代理路径,则会转发。这里有个蛋痛的地方是:如果被代理服务没有启动,那么代理将会一直阻塞等待!!
这个真坑,搞了一下午。
This post is licensed under CC BY 4.0 by the author.