自动执行 Curl 多个 HTTP 请求

自动执行 Curl 多个 HTTP 请求

Ubuntu 服务器 16.04.6, 我在用卷曲v.7.47.0) 来测试我的网络服务器和网络组件。

使用该-:选项(也称为--next),我保持 TCP 连接打开,并向我的服务器发送多个 HTTP 请求,例如:

 curl -s -o /dev/null http://example.com/foo -: -s -d "data" http://example.com/bar -: http://example.com/foo

现在,假设我想发送完全相同的 HTTP 请求 3 次,我会使用:

curl -o /dev/null http://example.com/foo -: -o /dev/null http://example.com/foo -: -o /dev/null http://example.com/foo

我的问题是:有没有办法可以对同一个 uri 使用相同的选项重复此 HTTP 请求“n”次,而无需-: -o /dev/null http://example.com/foo一遍又一遍地添加?

例如,使用相同的 TCP 连接发送 100 个相同的 HTTP 请求,而无需写入-: -o /dev/null http://example.com/foo99 次?

答案1

您可以xargs像这样用于此目的:

for i in {1..100} ; do
  echo ' -o /dev/null http://example.com/foo -:'
done | xargs curl -s

xargs请注意不是生成大于 2,088,616 个字符的命令我的系统。您可以在你的xargs --show-limits在您的系统中运行。

相关内容