我需要调查服务器上的超时问题,并且需要发出大型 HTTP post 请求。是否有一些简单的方法可以使用curl 创建大型HTTP post 请求,或者是否有一些更好的工具。
curl -X POST -d {10mb random string} localhost:8080/test
Run Code Online (Sandbox Code Playgroud)
创建10M的文件
dd if=/dev/urandom of=output.dat bs=1M count=10
Run Code Online (Sandbox Code Playgroud)
然后使用Curl发送文件
curl -X POST -d @output.dat localhost:8080/test
这是你想要的?
来自联机帮助页:
-d,--数据
(HTTP) 将 POST 请求中的指定数据发送到 HTTP 服务器,就像用户填写 HTML 表单并按下提交按钮时浏览器执行的操作一样。这将导致curl 使用内容类型application/x-www-form-urlencoded 将数据传递到服务器。与 -F、--form 进行比较。
--data-raw 几乎相同,但没有对 @ 字符进行特殊解释。要发布纯二进制数据,您应该使用 --data-binary 选项。要对表单字段的值进行 URL 编码,您可以使用 --data-urlencode。
如果在同一命令行上多次使用这些选项中的任何一个,则指定的数据片段将与分隔的 & 符号合并在一起。因此,使用“-d name=daniel -d Skill=lousy”将生成一个看起来像“name=daniel&skill=lousy”的帖子块。
如果您以字母@开头数据,则其余部分应该是从中读取数据的文件名,或者 - 如果您希望curl从stdin读取数据。也可以指定多个文件。因此,从名为“foobar”的文件发布数据可以使用 -d, --data @foobar 来完成。当 --data 被告知从这样的文件中读取时,回车符和换行符将被删除。如果您不希望@字符有特殊的解释,请改用--data-raw。
另请参见--data-binary 和--data-urlencode 和--data-raw。此选项覆盖 -F、--form 和 -I、--head 和 --upload。
| 归档时间: |
|
| 查看次数: |
5598 次 |
| 最近记录: |