Tôi cần truy xuất một lượng đáng kể (100.000+) phản hồi từ API thông qua yêu cầu POST, mỗi yêu cầu có tải trọng dữ liệu JSON duy nhất. Thay vì thực hiện cuộc gọi này tại một thời điểm, tôi đang cố gắng tìm ra cách sử dụng curl -z, song song, xargs, vòng lặp hoặc bất kỳ thứ gì khác để làm cho nó dễ dàng và nhanh hơn.
Dưới đây là một ví dụ về một yêu cầu duy nhất. Tôi biết rằng tôi có thể bỏ qua phần POST vì --data đã chỉ ra loại yêu cầu này với curl.
cuộn tròn --request POST \
--url https://apiendpoint.someurl.com/ \
--header 'Loại nội dung: ứng dụng/json' \
--data '{"key1":123,"key2":"1234","key3":12345}'
--data payload có 3 tham số như sau:
phím1 đó là một số nguyên có giá trị ở bất kỳ đâu từ 0-999
phím2 đó là năm có 4 chữ số (ví dụ: 2021)
phím3 đó là một số nguyên có giá trị ở bất kỳ đâu từ 0-99999
Tôi đã thử một vài thứ như:
a = {123..130}
b = {2020,2021}
c = {1..1001}
curl -Z --request POST \
--url https://apiendpoint.someurl.com/ \
--header 'Loại nội dung: ứng dụng/json' \
--data "{\"key1\":"${a}\",\"key2\":"${b}\",\"key3\":\"${c}\"}"
và
cho một trong {123..130}; làm cho b vào {2020,2021}; làm cho c trong {1..1001}; làm \
curl -X POST -H 'Loại nội dung: ứng dụng/json'
-d '{"key1":"'$a'","key2":"'$b'","key3":"'$c'"}' https://apiendpoint.someurl.com/ \
-o "$a-$b-$c.json"; \
xong; xong; xong
nhưng đã không có may mắn khiến họ làm việc.
Có cách nào để kéo tải trọng --data từ một tệp txt với một tải trọng trên mỗi dòng không?
Tôi cũng cần xuất từng phản hồi dưới dạng một tệp với quy ước đặt tên a-b-c.json
Bất kỳ trợ giúp nào cũng được đánh giá rất cao. Tôi là một người mới tương đối và học tập.
Tnx.