繁体   English   中英

如何在一系列服务器IP(URL)上执行相同的curl请求

[英]How to execute the same curl request on a sequence of server IPs (URLs)

命令

curl -v -H "Accept: application/json" -H "Content-type: application/json" \
        -X POST -d '{"test": "some data"}' http://XX.XX.X.001:8080/services/test

我想在不同的服务器(IP地址)上执行上述相同的curl命令。 有什么办法或CURL命令,以便我可以在所有服务器上执行此服务,而不是每次都手动更改IP地址吗?

我按一定顺序拥有服务器IP,例如

http://XX.XX.X.002:8080/services/test
http://XX.XX.X.003:8080/services/test
...

您可以在bash使用shell的大括号扩展名 ,例如{2..15}表示2,3,4,...,15

curl ... http://x.x.x.{2..15}:8080/services/test

或者,在URL部分中使用curl字母数字系列[]运算符 (请注意双引号):

curl ... "http://x.x.x.[2-15]:8080/services/test"

另外,您可以for循环使用算术:

for ((i=2; i<=15; i++)); do
    curl ... "http://x.x.x.$i:8080/services/test"
done

您可以使用循环:

for HOST in 0.0.0.1:8080 0.0.0.2:8080; do curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"my": "data"}' http://$HOST/services/test ; done

如果您的主机是顺序主机,那么randomir的答案会干净很多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM