如何使用curl为特定文件生成http 1.0请求?

时间:2017-07-29 14:24:32

标签: curl

以下是我从服务器日志收到的请求。我担心这可能会引发一些崩溃。服务器是一个简单的快速开发服务器。

"GET login.cgi HTTP/1.0"

如何使用curl复制上述确切的请求?

  • 没有路径
  • login.cgi
  • HTTP 1.0

谢谢!

1 个答案:

答案 0 :(得分:13)

甚至不是领先的斜线?这不太可能被任何HTTP客户端发送。

如果你可以使用斜杠,你可以使用:

curl --http1.0 localhost/login.cgi

如果您确实坚持不在那里使用前导斜杠,则需要让自己卷曲7.55.0(或更高版本)并使用--request-target选项覆盖请求目标手动,像这样:

curl --http1.0 localhost --request-target login.cgi

(当然你应该用你选择的主机名取代' localhost')

没有卷曲

执行相同请求的一种更粗糙的方法是使用printf + nc制作它,如下所示:

printf "GET login.cgi HTTP/1.0\r\nHost: localhost\r\n\r\n" | nc localhost 80

....你当然需要添加你想要自己传递的标题集。 Host:只是一个显示如何操作的示例。