[英]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.