shell脚本:批量发送curl请求

场景

需要批量发送curl请求,并且请求参数是动态变化的~

 

实现

shell脚本

创建一个sh文件,如:batch_curl.sh,脚本内容:

#!/bin/bash
 
token="my token"
url="https://ip:port/client/service-ids/agent/v1/report-conns"
 
if [ -z "$1" ]; then
    echo "Usage: $0 <number_of_requests>"
    exit 1
fi
 
echo "Start send requests~"
 
total_requests=$1
for ((i=1; i<=$total_requests; i++))
do
    curl -d '{
        "src_ip": "192.168.102.'$i'",
        "src_port": 100,
        "dst_ip": "10.0.3.15",
        "dst_port": '$i',
    }' -X POST -k -H "Content-Type: application/json" -H "Authorization: Bearer $token" "$url"
 
     # 每100个请求打印一次日志
    if [ $((i % 100)) -eq 0 ] || [ $i -eq $total_requests ]; then
        echo "Sent $i requests. $(date)"
    fi
done
 
echo "Finished sending $total_requests requests."

实现说明:

  • 发送请求,需要一个有效的token,服务器的ip:port

执行命令

bash ./batch_curl.sh 1000

 

posted @ 2024-07-19 11:24  仅此而已-远方  阅读(271)  评论(0编辑  收藏  举报