如果将多个 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 说道:
我们之前曾讨论过添加该功能,但目前还没有。