2019年4月25日木曜日

curl で querystring を複数行で書く方法

概要

よく POST で JSON を複数行で実現する方法はあるのですが GET で querystring で複数行というのは見かけなかったのでやってみました

環境

  • macOS 10.14.4

やり方

例えば curl 'localhost:4567/?key=value1&key2=value2' を複数行で書いてみます

curl `echo \
'https://localhost:4567/'\
'?key1=value1'\
'&key2=value2'`

こんな感じで書けます
どうやっているかというとヒアドキュメントを使って文字列を出力しそれを curl に食わせているだけです

変数を展開したいのであればダブルクォートを使いましょう

v=value2
curl `echo \
"https://localhost:4567/"\
"?key1=value1"\
"&key2=${v}"`

単純に文字列を食わせればいいだけなのでファイルに書いてそれを出力するとかでもいいかなと思います

力技感はありますが bash なのでこれくらいで妥協するのが良いと思います

0 件のコメント:

コメントを投稿