単一のbashファイルでこのコマンドを実行して、データをURLに公開し、応答を取得します。
curl -s -X POST $url -d "username=username"
応答本文を出力します。すべてが大丈夫ですが、これを自動化したいので、次のようにurls.txtというファイルに複数のURLを保存しました。
https://url1.com
https://url2.com
and so on...
ファイルのすべての行(URL)を繰り返すには、このスクリプトを実行します。
while IFS="" read -r p || [ -n "$p" ]
do
curl -s -X POST $p -d "username=username" >> output.txt
done < urls.txt
ハードコードされたURLを使用してループを実行してみましたが、まだ機能しません。
while IFS="" read -r p || [ -n "$p" ]
do
curl -s -X POST http://manual.url -d "username=username" >> output.txt
done < urls.txt
ただし、出力は保存または表示されません。理由がわからない。どんなアイデアがありますか?カールをループとして実行できませんか?
答え1
行をという変数として読みp
ましたが、それ以降はその変数を使用しません。
私はそうします:
while IFS='' read -r url || [ -n "$url" ]; do
echo "URL: >>$url<<"
curl -s -X POST $url -d "username=username" >> output.txt
done < urls.txt