Рейтинг:0

Как использовать параллельные запросы CURL POST для API с полезной нагрузкой JSON

флаг cn

Мне нужно получить значительное количество (100 000+) ответов от API с помощью запроса POST, каждый из которых содержит уникальную полезную нагрузку данных JSON. Вместо того, чтобы делать это по одному вызову за раз, я пытаюсь понять, как использовать curl -z, parallel, xargs, цикл или что-то еще, чтобы сделать это проще и быстрее.

Ниже приведен пример одного запроса. Я знаю, что могу опустить часть POST, поскольку --data уже указывает этот тип запроса с помощью curl.

curl --запрос POST \  
  --url https://apiendpoint.someurl.com/ \
  --header 'Тип содержимого: приложение/json' \
  --data '{"ключ1":123,"ключ2":"1234","ключ3":12345}'

Полезная нагрузка --data имеет 3 следующих параметра:

ключ1 которое представляет собой целое число со значениями в любом месте от 0-999

ключ2 который представляет собой 4-значный год (например, 2021)

ключ3 которое представляет собой целое число со значениями в любом месте от 0-99999

Я пробовал пару вещей, таких как:

а = {123..130}
б = {2020,2021}
с = {1..1001}
curl -Z --запрос POST \ 
  --url https://apiendpoint.someurl.com/ \
  --header 'Тип содержимого: приложение/json' \
  --data "{\"key1\":"${a}\",\"key2\":"${b}\",\"key3\":\"${c}\"}"

и

для в {123..130}; сделать для b в {2020,2021}; сделать для c в {1..1001}; делать \
  curl -X POST -H 'Тип содержимого: приложение/json' 
  -d '{"ключ1":"'$a'","ключ2":"'$b'","ключ3":"'$c'"}' https://apiendpoint.someurl.com/ \
  -o "$a-$b-$c.json"; \
сделано; сделано; сделано

но не повезло заставить их работать.

Есть ли способ вытащить полезные данные --data из одного текстового файла с одной полезной нагрузкой на строку?

Мне также нужно вывести каждый ответ в виде одного файла с соглашением об именах a-b-c.json.

Любая помощь приветствуется. Я относительный новичок и учусь.

Tnx.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.