我有一个在本地运行的瘦服务器,为Rails应用程序提供服务。按照netcat手册页中的示例,我尝试使用nc
与我的服务器通信:
echo -n "GET / HTTP/1.1\r\n\r\n" | nc 0.0.0.0 3000
但我收到了400回复:
HTTP/1.1 400 Bad Request
Content-Type: text/plain
Connection: close
Server: thin 1.6.1 codename Death Proof
我错过了什么?
答案 0 :(得分:2)
HTTP 1.1需要提供Host:
标头。您还需要将-e
标志添加到echo
命令以转义字符序列,因此
echo -en "GET / HTTP/1.1\r\nHost: localhost\r\n\r\n" | nc 0.0.0.0 3000
可以使用,或者你也可以使用不需要Host:
标题的HTTP 1.0,所以
echo -en "GET / HTTP/1.0\r\n\r\n" | nc 0.0.0.0 3000