Curl创建一个大的帖子请求

时间:2018-05-14 12:07:23

标签: curl

我需要调查服务器上的超时问题,并且需要发出大的HTTP post请求。 是否有一些使用curl创建大型HTTP post请求的简单方法,或者是否有更好的工具。

curl -X POST -d {10mb random string} localhost:8080/test

1 个答案:

答案 0 :(得分:1)

创建一个10M的文件

dd if=/dev/urandom of=output.dat  bs=1M  count=10

然后使用Curl

发送文件

curl -X POST -d @output.dat localhost:8080/test

这是你在找什么?

来自manpage

  

-d, - data

     

(HTTP)将POST请求中的指定数据发送到HTTP服务器,   与用户填写HTML时浏览器的操作方式相同   表单并按下提交按钮。这将导致卷曲通过   使用content-type将数据发送到服务器   应用程序/ x-WWW窗体-urlencoded。比较-F, - form。

     

- data-raw几乎相同,但没有对@字符的特殊解释。要发布纯二进制数据,你   应该使用--data-binary选项。对值进行URL编码   您可以使用的表单字段--data-urlencode。

     

如果在同一命令中多次使用这些选项中的任何一个   在行中,指定的数据将与a合并在一起   分离& -symbol。因此,使用'-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。