Trebuie să recuperez o cantitate semnificativă (100.000+) de răspunsuri de la un API printr-o solicitare POST, fiecare cu o încărcătură unică de date JSON. În loc să fac acest apel la un moment dat, încerc să aflu cum să folosesc curl -z, paralel, xargs, o buclă sau orice altceva pentru a-l face mai ușor și mai rapid.
Un exemplu de cerere unică este mai jos. Știu că pot omite partea POST, deoarece --data indică deja acest tip de solicitare cu curl.
curl --cerere POST \
--url https://apiendpoint.someurl.com/ \
--header „Content-Type: application/json” \
--data '{"key1":123,"key2":"1234","key3":12345}'
Sarcina utilă --data are 3 parametri, după cum urmează:
cheia1 care este un număr întreg cu valori oriunde de la 0-999
tasta 2 care este un an din 4 cifre (de ex 2021)
tasta 3 care este un număr întreg cu valori oriunde de la 0-99999
Am încercat câteva lucruri precum:
a = {123..130}
b = {2020,2021}
c = {1..1001}
curl -Z --cerere POST \
--url https://apiendpoint.someurl.com/ \
--header „Content-Type: application/json” \
--data "{\"key1\":"${a}\",\"key2\":"${b}\",\"key3\":\"${c}\"}"
și
pentru a în {123..130}; face pentru b în {2020,2021}; face pentru c în {1..1001}; face \
curl -X POST -H „Tip de conținut: aplicație/json”
-d '{"key1":"'$a'","key2":"'$b'","key3":"'$c'"}' https://apiendpoint.someurl.com/ \
-o „$a-$b-$c.json”; \
Terminat; Terminat; Terminat
dar nu am avut noroc să-i fac să lucreze.
Există o modalitate de a extrage încărcăturile utile --data dintr-un singur fișier txt cu o încărcare utilă pe linie?
De asemenea, trebuie să scot fiecare răspuns ca un singur fișier cu convenția de denumire a-b-c.json
Orice ajutor este foarte apreciat. Sunt relativ novice și învăț.
Tnx.