[英]Read HTTP Body Response and iterate over that result with Bash
我對 bash 很弱,所以請耐心等待。
我必須設置一個執行這些操作的 bash 腳本:
curl https://example.com/my_first_request
此請求返回一個簡單的響應,每行一個值,例如:
300
320
350
500
我需要讀取所有這些值,然后像這樣對每一行執行 curl 請求:
curl https://example.com/my_second_request/300
curl https://example.com/my_second_request/320
curl https://example.com/my_second_request/350
curl https://example.com/my_second_request/500
我不在乎這些請求是異步的還是同步的,這個腳本可能會占用它需要的所有時間。
我已經嘗試了多次關於 stackoverflow 和一些教程的答案,但每次都失敗了。 有人可以幫我完成這項任務嗎?
謝謝。
您可以使用 bash 命令替換:
for code in $(curl https://example.com/my_first_request); do
curl https://example.com/my_second_request/$code
done
您也可以嘗試使用xargs
,它能夠在子進程中運行指定數量的命令。 一個快速的班輪看起來像:
curl "https://example.com/my_first_request" | xargs -n1 -P2 -I % curl "https://example.com/my_second_request/%"
-n1
的使用指示xargs
處理一個輸入參數。 在這種情況下,您從第一個端點獲得的響應代碼( 300, 320, 350, 500, ...
)分別進行處理。 並且-P2
告訴xargs
維護2
個一直運行的子進程,每個子進程處理一個參數,直到處理完所有輸入參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.