Bash Curl 使い方
curlコマンドの備忘。
オプション
オプション | 内容 |
---|---|
--fail または -f | HTTPエラーが発生した場合に、その内容を表示しない。 |
--output または -o | 指定したパスに、curlで取得した結果を保存する。 |
--silent または -s | curlの進捗を表示しない。 |
--show-error または -S | curlの進捗は表示しないが、 エラーメッセージは表示する。 ( --silent と併用することが前提 ) |
取得した内容をファイルに出力
--output
または -o
で出力可能・・・だが、これは404などの場合でも出力してしまう。
curl --silent --output $SAVE_PATH --show-error --fail $URL
次の方法のように、HTTPコードが200であることを確認してから出力するほうが安全そう。
response=$(curl -silent --fail -w "%{http_code}" $URL)
http_code=$(tail -n 1 <<< "$response") # get the last line
content=$(sed '$ d' <<< "$response") # get all but the last line which contains the status code
if [ "$http_code" = '200' ]; then
"$content" > $SAVE_PATH
printf $SUCCESS_FORMAT "Save completed."
else
printf $ERROR_FORMAT "Save failed. http_code=[${http_code}]"
fi