如何编写一个 bash 脚本,在每次 http 请求后读取一行

如何编写一个 bash 脚本,在每次 http 请求后读取一行

我有 700 行(字符串),我想知道如何编写一个 bash 脚本,该脚本curl在第一次运行时使用发送 HTTP 请求,以便它将使用第一行发送第一个请求,然后当它发送第二个请求时它将使用第二行,第三个请求,它将使用第 3 行,...,第 700 个请求将使用第 700 行,然后重复。

另外你认为什么更好?使用.csv文件读取字符串,例如:

while IFS=, read -r example
do
   ...
done < filename.csv

或者在脚本中使用 for 循环,例如:

arr=( "string1" "string2" "string3" .."string700" )
for i in "${arr[@]}"
do
  echo $i
done

答案1

如果你想循环播放列表在注释中提供,换行符分隔的文件将正常工作用户代理不包含任何换行符。

#!/bin/bash

mapfile -t < user-agents.txt
while :; do
    for agent in "${MAPFILE[@]}"; do
        curl -A "$agent" http://localhost/
        sleep 0.2
    done
done

相关内容