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を指定する(設定ファイル内) |