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

Nic*_*.Xu 7 curl

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

"GET login.cgi HTTP/1.0"
Run Code Online (Sandbox Code Playgroud)

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

  • 没路
  • login.cgi
  • HTTP 1.0

谢谢!

Dan*_*erg 18

甚至不是领先的斜线?这不太可能被任何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
Run Code Online (Sandbox Code Playgroud)

....你当然需要添加你想要自己传递的标题集.在Host:那里只是展示了如何做到这一点的例子.