ツール | |

curlコマンドのメモ

自分用。適当に追記。

  1. 普通にGET
  2. オレオレ証明書でHTTPS化されてるURLをGET
  3. Basic認証つきページをGET
  4. プロキシ挿してGET
  5. Basic認証つきプロキシ挿してGET
  6. オレオレ証明書のHTTPSプロキシ挿してGET
  7. フォームデータつけてPOST
  8. JSONつけてPOST
  9. ファイルの内容をリクエストボディにしてPOST
  10. リクエストヘッダ複数つける
  11. レスポンスヘッダも表示
  12. レスポンスヘッダだけ表示
  13. リクエストヘッダを表示

普通にGET

curl https://example.com

オレオレ証明書でHTTPS化されてるURLをGET

curl --insecure https://example.com

Basic認証つきページをGET

curl https://user:password@example.com
-u でもできる (小文字!)
curl -u user:password https://example.com

プロキシ挿してGET

curl -x http://myproxy.com:8080 https://example.com

Basic認証つきプロキシ挿してGET

curl -x http://proxyuser:@proxypassword@myproxy.com:8080 https://example.com
-U でもできる (大文字!)
curl -x http://myproxy.com:8080 -U proxyuser:proxypassword https://example.com

オレオレ証明書のHTTPSプロキシ挿してGET

curl --proxy-insecure -x https://myhttpsproxy.com:8080 https://example.com

※Windowsの curl だとHTTPSプロキシはそもそもエラー出て無理

curl: (4) Unsupported proxy 'https://myhttpsproxy.com:8080', libcurl is built without the HTTPS-proxy support.

フォームデータつけてPOST

curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "key1=value1&key2=value2" https://example.com

JSONつけてPOST

curl -X POST -H "Content-Type: application/json" -d "{\"key1\":\"value1\",\"key2\":\"value2\"}" https://example.com

ファイルの内容をリクエストボディにしてPOST

ファイル名には @ をつけてね。長大な内容も送れます

curl -X POST -H "Content-Type: application/json" -d @totemosugoi.json https://example.com

リクエストヘッダ複数つける

-H を複数回書く

curl -X POST -H "Hoge-Hoge: hoge" -H "Piyo-Piyo: piyo" https://example.com

レスポンスヘッダも表示

curl -i https://example.com

レスポンスヘッダだけ表示

curl -I https://example.com

リクエストヘッダを表示

実際にはハンドシェイクの様子とかレスポンスヘッダも含め何もかもが表示される

curl --verbose https://example.com