Windowsコマンド虎の巻

curl

curlは、URLを使ってデータの送受信を行うコマンドです。

解説

curlコマンドを使うとサーバへリクエストを送ったりレスポンスを確認することができます。
サーバとの疎通確認やどのような結果が返ってきているのかなどを簡単に確認できるため
プログラムのデバッグ時などにとても便利です。

構文

(構文)
curl [オプション] <URL>
【オプション】
オプション説明
-X <メソッド>HTTPリクエストメソッドを指定する
(GET/POST/DELETE/PUTなど)
(例)-X POST
※デフォルトはGETなので、GETの場合は省略可能です。
-d <文字列>
--data <文字列>
リクエストデータを指定する
(例)-d 'name=hoge&age=30'
※-dと-Fオプションは同時に指定できません。
-F <文字列>フォームデータとして送信する
※HTMLのformタグで送った時と同じです。
(ファイルを指定する例)-F '@test.txt'
(パラメータを指定する例)-F 'name=hoge'
※-dと-Fオプションは同時に指定できません。
-IHeaderのみを表示する
-i、--includeHeader、Bodyの両方を表示する
-vHeader、Bodyの両方を表示する
(curlのリクエストHeaderも表示)
-s転送情報を非表示にする
(サイレントモード)
-H <文字列>
--header <文字列>
HTTPヘッダに値を追加する
(例)-H 'Content-Type:application/json'
-u <ID:パス>認証用のIDとパスワードを指定する
(例)-u hoge:pass
-fエラー発生時は即エラーを返すように指定する
-x <ホスト>プロキシサーバーを指定する
(例)-x http://test:8080
-A <文字列>User-Agentを指定する
(例)-A 'test'
-o <ファイル名>レスポンスをファイルに出力する
(例)-o test.txt
-#転送情報をプログレスバー形式で表示する
-V、--versionコマンドのバージョンを表示する
-h、--helpコマンドのヘルプを表示する

サンプル

Googleサイトのレスポンスを取得する

curl https://www.google.co.jp

Googleサイトのレスポンスを取得してファイルに出力する

curl -o C:\response.txt https://www.google.co.jp

GoogleサイトのHeaderレスポンスのみを取得する

curl -I https://www.google.co.jp

localhost:8080へデータをPOSTする

curl -X POST -d 'name=hoge&age=30' http://localhost:8080

-dを使用時は、「'Content-Type:application/x-www-form-urlencoded'」が自動で指定されます

localhost:8080へJSONをPOSTする

curl -X POST -H 'Content-Type:application/json' -d '{"name":"hoge", "age":"30"}' http://localhost:8080

JSONの場合は明示的に「'Content-Type:application/json'」を指定します

localhost:8080へファイル(C:\test.txt)を送信する

curl -X POST -F '@C:\test.txt' http://localhost:8080

-Fを使用時は、「'Content-Type:multipart/form-data'」が自動で指定されます

ファイル名の先頭には「@」が必要です。

localhost:8080へID/パスワードを指定しつつPOSTする

curl -X POST -u hoge:pass -d 'name=hoge&age=30' http://localhost:8080

上記例は IDがhoge、パスワードがpassの場合です。

localhost:8080からのHTTPステータスコードのみ表示する

curl -s http://localhost:8080 -o null -w %{http_code}\n

備考

  • -dと-Fオプションは同時に指定できないのでご注意ください。
    指定すると「Warning: You can only select one HTTP request method」エラーが発生します。
  • 上記オプションは主要なもののみです。上記以外のオプションも存在します。
  • curlの読み方は「カール」です。