cURLメモ †
GETリクエスト †
curl localhost/sample.json
POSTリクエスト †
"--data" オプションでPOSTするデータを指定する事ができる
※"--data-urlencode" にすると自動でURLエンコード
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
PUT、DELETE等のリクエスト †
オプションに -X メソッド名( または --request メソッド名) を指定する事でリクエストを送信する事ができる。
curl -v -X PUT -data "var1=abc&btn=%20Submit%20" http://localhost/example/sample.json
Basic認証 †
curl -v --user name:password http://localhost/auth_basic/
Refererを指定する †
curl -v --referer http://www.example.come http://localhost/example/
User-Agentを指定する †
curl -v --user-agent "DUMMY" http://localhost
Cookieを指定する †
curl --cookie "name=test" http://localhost/example/
ファイルからCookieを指定 †
curl --cookie cookies.txt --cookie-jar newcookies.txt http://localhost/example/
※送信するcookieを cookies.txt から読み出して、新しく受け取ったcookieを newcookies.txt に保存する
ヘッダ&Cookieをファイルに出力する †
curl --dump-header headers_and_cookies http://localhost/example/
証明書を指定する †
curl --cert mycert.pem https://ssl.example.com
リクエストヘッダを指定する †
curl -v --header "Dummy-Header: abcdefg" http://localhost/example/
複数リクエストを送信する †
curl -I http://example.com --next http://example.com
オプション †
オプション | 説明 |
-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を指定する(設定ファイル内) |