====== curlコマンド ======
===== プログレスメータの表示を抑止する =====
-sS
* ''-s'' でプログレスメータとエラーの抑止
* ''-S'' でエラーの出力
7.67.0以降はエラーを抑止しない専用のオプションがある。RHEL9やDebian11では使える。RHEL8以前だと使えない。
--no-progress-meter
===== HTTPレスポンスヘッダを表示する =====
-i
===== HTTPメソッドを指定する =====
-X
===== PUTメソッドでExpectヘッダの送信を抑止する =====
-H "Expect:"
===== Content-Bodyの送信 =====
ファイルの内容を送信。
-d @<ファイル名>
送信内容を文字列で指定。
-d <文字列>
標準入力から読みこんで送信。
-d @-
===== Content-Typeの設定 =====
JSONでの例。
-H "Content-Type: application/json"
===== スクリプトなどからPOSTする場合の例 =====
curl -X POST -H 'Content-Type: application/json' -d @- http://somewhere/somepath <
===== 認証 =====
-u <ユーザ名:パスワード>
===== プロキシ経由で接続する =====
プロキシのユーザ名とパスワードを一緒に渡す場合はURLエンコードが必要。
''-U <ユーザ名:パスワード>''でも指定可能。
-x <[protocol://][user:password@]proxyhost[:port]>
HTTPプロキシの場合はprotocolは省略可。
-x proxy.example.com:8080
SOCKS5プロキシの場合。
-x socks5://proxy.example.com:1080
SOCKS5プロキシで、名前解決をプロキシに任せる場合。
-x socks5h://proxy.example.com:1080
===== 自己署名証明書を使用している安全ではないサーバにhttpsで接続する =====
''curl: (60) Issuer certificate is invalid.''と表示されて接続できない場合の回避方法。
-k
===== ファイルをダウンロードする =====
リダイレクトの追随と、サーバと同じファイル名での保存。
-L -O
===== 応答をファイルへ出力 =====
-o <ファイル名>
''<ファイル名>''には標準出力を示す''-''を指定可能。
===== ヘッダをファイルへ出力 =====
応答の内容とヘッダを分けて出力したい場合に使用できる。
''-D''を使用する場合、''-i''は不要。
-D <ファイル名>
''<ファイル名>''には標準出力を示す''-''を指定可能。
{{tag>linux curl}}