Мне нужно получить значительное количество (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.