bash で curl プロセスを並列実行する

bash で curl プロセスを並列実行する

当時はターミナルで curl コマンドを使ってデータを投稿していたと思いますが、良い結果を得るには何千回も試しました。次の bash コードを書きました。

  contents=$(< /Users/Andrea/Desktop/data.txt)
  eval "words=( $contents )”
  arguments=()
  for i in {1..10000}
  do
  arguments+=( "${words[@]}" );
  done;
  curl "${arguments[@]}”;

JSONデータはdata.txtに保存されます。コードを実行すると、すべてのリクエストをサーバーに送信するのに長い時間がかかり、あまり良い結果が得られません。一方、このリクエストの多くは時間が経ってからサーバーに送信され、役に立ちません。data.txtには次のデータが含まれています。

 --next 
 'https://d.server.com/easy/api/Order' 
 -H 'Connection: keep-alive' 
 -H 'Pragma: no-cache' 
 -H 'Cache-Control: no-cache' 
 -H 'Accept: application/json, text/plain, */*' 
 -H 'Sec-Fetch-Dest: empty'  
 -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like 
 Gecko) Chrome/80.0.3987.132 Safari/537.36' 
 -H 'Content-Type: application/json' 
 -H 'Origin: https://d.server.com' 
 -H 'Sec-Fetch-Site: same-site' 
 -H 'Sec-Fetch-Mode: cors' 
 -H 'Referer: https://d.server.com/' 
 -H 'Accept- Language: en-US,en;q=0.9,fa;q=0.8' 
 --data-binary '{"name":"Andrea","Id":13647,"family":Bianda,"pr":5400}' 
 -- compressed"

今、私はこれらのカール投稿をスピードアップし、時間開始の 1 秒前にできるだけ多く投稿するにはどうしたらよいかと考えていました。このカールの応答は重要ではなく、これが成功した場合、他の要求は失敗し、私の番が表示されます。

関連情報