Myログ

自分のためのブログ。

curlコマンドの使い方

#GETリクエスト
curl localhost:8080/api/json | jq .
#オプション -o ファイルへの出力
curl localhost:8080/api/json -o response
#進捗状況を表示しない。エラーは出力する
curl -Ss localhost:8081/api/json
#HTTPレスポンス ヘッダーのみ
curl -I -s 'localhost:8080/api/json?'
#HTTPレスポンス ヘッダー Body 両方
curl -i -s 'localhost:8080/api/json?'
#HTTPリクエスト ヘッダー
curl -v -s 'localhost:8080/api/json' | jq .
#POSTリクエスト
curl -sS -w '\n' -X POST 'localhost:8080/'
#POSTリクエスト データ送信
curl -w '\n' 'http://localhost:8080/createItem' --data 'name=sample&mode=hudson.model.FreeStyleProject&Submit=OK' -XPOST
#POSTリクエスト データ送信(URLエンコード)
#&で複数のパラメータを定義しようとしても、肝心の&がエンコードされてしまいます。
#そのためSubmit=Saveは別途-dで付与
curl -w '\n' 'http://localhost:8080/job/sample/configSubmit' --data-urlencode 'json={"properties": {"hudson-model-ParametersDefinitionProperty": {"parameterized": {"parameter": {"name": "FileParameter", "description": "Upload file to Jenkins.", "stapler-class": "hudson.model.FileParameterDefinition", "$class": "hudson.model.FileParameterDefinition"}}}}}' -d 'Submit=Save' -XPOST