* cURLメモ [#veaa8368]
#setlinebreak(on);

#contents
-- 参考
--- http://itpro.nikkeibp.co.jp/atcl/column/14/230520/080400003/
--- https://curl.haxx.se/docs/manpage.html


** GETリクエスト [#zefd41a6]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl localhost/sample.json
}}
#html(</div>)

** POSTリクエスト [#j0311173]
#html(<div style="padding-left:10px">)
"--data" オプションでPOSTするデータを指定する事ができる
※"--data-urlencode" にすると自動でURLエンコード
#myterm2(){{
curl -v --data "var1=abc&btn=%20Submit%20"  http://localhost/example/sample.json
curl -v --data-urlencode "var1=abc"  --data-urlencode "btn= Submit " http://localhost/sampleapi/sample.json
}}
#html(</div>)

** PUT、DELETE等のリクエスト [#l36e37e1]
#html(<div style="padding-left:10px">)
オプションに  -X メソッド名( または --request メソッド名) を指定する事でリクエストを送信する事ができる。
#myterm2(){{
curl -v -X PUT -data "var1=abc&btn=%20Submit%20"  http://localhost/example/sample.json
}}
#html(</div>)

** Basic認証 [#u89b2ce0]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl -v --user name:password http://localhost/auth_basic/
}}
#html(</div>)

** Refererを指定する [#lca6355b]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl -v --referer http://www.example.come http://localhost/example/
}}
#html(</div>)

** User-Agentを指定する [#lca6355b]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl -v --user-agent "DUMMY" http://localhost
}}
#html(</div>)

** Cookieを指定する [#lcfb51d1]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl --cookie "name=test" http://localhost/example/
}}
#html(</div>)

** ファイルからCookieを指定 [#z5de937a]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl --cookie cookies.txt --cookie-jar newcookies.txt  http://localhost/example/
}}
※送信するcookieを cookies.txt から読み出して、新しく受け取ったcookieを newcookies.txt に保存する
#html(</div>)

** ヘッダ&Cookieをファイルに出力する [#zf7b6ac5]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl --dump-header headers_and_cookies http://localhost/example/
}}
#html(</div>)

** 証明書を指定する [#q268bf27]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl --cert mycert.pem https://ssl.example.com
}}
#html(</div>)

** リクエストヘッダを指定する [#ga4aa703]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl -v --header "Dummy-Header: abcdefg" http://localhost/example/
}}
#html(</div>)

** 複数リクエストを送信する [#le416e57]
#html(<div style="padding-left:10px">)
#myterm2(){{
curl -I http://example.com --next http://example.com
}}
#html(</div>)


** オプション [#x66a3dc9]
|オプション|説明|h
|-b, --cookie COOKIE|cookieを送信する。※形式: "name=data"|
|-c, --cookie-jar FILE|cookieをファイルFILEとして保存する|
|-d, --data PARAM...|POSTリクエストとしてフォームを送信する。パラメータPARAMは「"value=name"」の形式で指定する|
|-e, --referer URL|リファラーを指定する|
|-i, --include|HTTPヘッダを出力に含める|
|-k, --insecure|SSL/TLSのエラーをスキップする(安全でないSSL/TLS接続を行う)|
|-m, --max-time TIME|最大転送時間をTIME秒に制限する|
|-o FILE|取得したデータを指定したファイルFILEに出力する|
|-u USER[:PASS]|認証に用いるユーザー名USER, パスワードPASSを指定する(Basic認証など)|
|-v, --verbose|リクエストとレス本をを表示する|
|-x HOST[:PORT]|プロキシサーバとしてホストHOSTおよびポートPORTを利用する|
|-y, --speed-time TIME|転送速度が指定した速度をTIME秒の間下回ったらダウンロードを終了する。速度は-Yオプションで指定する|
|-A, --user-agent AGENT|ユーザーエージェントAGENTを指定する|
|-E, --cert CERT[:PASS]|SSL/TLS接続時にクライアント証明書CERTを使用する|
|-G, --get|HTTP GETリクエストで送信する|
|-H, --head HEADER|HTTPヘッダにHEADERを追加もしくは変更する|
|-I, --head|ヘッダ情報を取得する|
|-K, --config FILE|設定ファイルFILEを読み込、それを引数として実行する|
|-L, --location|リダイレクトに対応する|
|-O, --remote-name|取得したデータを標準出力ではなくファイルに出力する|
|-U, --proxy-user USER[:PASS]|プロキシ認証に用いるユーザー名, パスワードを指定する|
|-Z, --max-redirs MAX|リダイレクトを最大MAX回に制限する|
|-#, --progress-bar|進捗状況を表示する|
|--http1.1|HTTP 1.1でリクエストする(デフォルト)|
|--http2|HTTP 2でリクエストする|
|--cacert CACERT|証明書ファイルCACERTを検証に用いる|
|--capath DIR|証明書ディレクトリDIRを検証に使用する|
|--compressed|ファイルの圧縮をサポートする|
|--connect-timeout TIME|最大接続時間をTIME秒に制限する|
|--digest|ダイジェスト認証を有効にする|
|--dns-servers ADDRESS|名前解決に利用するDNSサーバのIPアドレスを指定する|
|--retry NUM|エラーが出た場合、NUM回数だけ再試行する|
|--ssl|接続時にSSL/TLSの利用を試みる|
|--url URL|アクセスするURLを指定する(設定ファイル内)|

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS