cURL:重用 TCP 连接时发出多个 POST 请求

cURL:重用 TCP 连接时发出多个 POST 请求

如果将多个 URL 传递给 cURL,它会在可能的情况下重用 TCP 连接。

例如:

curl -o 1.jpg http://example.com/1.jpg -o 2.jpg http://example.com/2.jpg

我需要做同样的事情,但是对同一个 URL 使用不同的发布查询。

我想也许这会有用:

curl -d "a=1" -o 1 http://example.com/script.php -d "a=2" -o 2 http://example.com/script.php

但它不是将-d每个请求的参数分开,而是将它们加在一起。

有没有什么办法可以用 cURL 实现我想要的效果?

如果没有,Linux 系统上是否有其他可能存在的工具(例如 Wget)可以执行上述操作?

答案1

从 curl 7.36.0 开始,--next或者-:命令行选项允许分隔 URL 及其相关选项。从curl 手册页

例如,您可以在单个命令行中执行 GET 和 POST:

curl www1.example.com --next -d postthis www2.example.com

您的要求可能是:

curl -d "a=1" -o 1 http://example.com/script.php --next -d "a=2" -o 2 http://example.com/script.php

答案2

答案cURL 的作者 Daniel Stenberg 说道:

我们之前曾讨论过添加该功能,但目前还没有。

相关内容