使うたびに毎回調べてるので時短のために個別にまとめたい
curl
URLやAPI等を利用してWeb(サーバ)上の情報に対してデータ転送(CRUD操作)ができる。
curlオプション
-s : 進捗メッセージ出力(通常+エラー)の非表示
-S : 進捗メッセージ出力の非表示(エラーは表示)
-# : 進捗メッセージ出力をプログレスバー表示に変更
-I : Headerのみ取得して表示
-i : Respnse Header, Body の両方を出力
-v : 上記に加え、リクエスト時のHeaderも含めて出力
-H : Request Header を指定する(Content-Typeを指定する時などに)
-o : ファイルに出力
-O : ファイルに出力(リクエスト先の名前でファイルを保存)
-L : リダイレクトがあればリダイレクト先から情報取得(時短)
-d : POST送信時のデータパラメータを付与&指定
-F : ファイルUpload時(POST)のファイル指定
# -F と -d は併用不可
--version : バージョン表示
--trace : パケットデータをログに出力
HTTPメソッド指定(-X)
-X POST : POSTリクエストを送る
-X GET : GETリクエストを送る
実行例
URL先の情報取得
curl -sSLX GET "URL"
jqコマンドと併用
#jsonのデータを整形して見やすく表示
curl -sS "URL" | jq
返り値を加工して表示
RESPONSE=$(curl -sSX POST --data-urlencode "URL")
echo $RESPONSE | sed 's/onesyasu/onegaisimasu/g'
ステータスコードのみを取得
## https://qiita.com/ をステータスコードを取得したいURLに適宜置き換える
curl -o /dev/null -w '%{http_code}\n' -s "https://qiita.com/"
過去記事
参考