LoginSignup
5
2

More than 1 year has passed since last update.

curlコマンド備忘録 ※随時更新

Posted at

1. はじめに

本記事では、Linuxの標準コマンドでもある『curl』コマンドのチートシート(と言う名の個人的備忘録)を記載します。

2. curlコマンドとは

2.1 curlコマンドの概要

curl は URL 指定でデータを受信(もしくは送信)するためのコマンドラインツールです。

Linuxでよく使用されるコマンドで、組み込みコマンドでもあります。
また、最近になって Windows 10 でも標準で組み込まれるようになりました。
最新版のWindows10であればコマンドプロンプトに「curl」と打ち込むことで利用できます。

2.2 基本書式

curlコマンドの基本書式は以下の通りとなります。

curl [オプション] [URL]

2.3 オプション一覧

curlコマンドで良く使用されるオプションを以下に記載します。

オプション 説明
-d, –data PARAM POSTリクエストとしてフォームを送信する
-i, –include 出力結果にHTTPヘッダーを含める
-s, –silent 進捗情報やエラーを出力しない
-u USER[:PASS] プロキシ認証等に用いるユーザー名USER, パスワードPASSを指定する
-x HOST[:PORT] プロキシサーバでのホストHOSTおよびポートPORTを指定
-I, –head ヘッダーを取得する
-v, –verbose 処理の細かい情報(進捗情報等..)を出力する
-L, –location リクエスト先にリダイレクト設定がある場合に追従する

3. 利用ケース

実務でよく使われるcurlコマンドの利用パターンを下記に記載します。

3.1 基本パターン

# オプション無し
$ curl https://<URL>

# URLをファイル名としてダウンロード
$ curl -O https://<URL>

# 実行結果をファイルへ出力
$ curl https://<URL> > <出力先ファイル>
$ curl -o <出力先ファイル> https://<URL>

# ファイル出力時の進捗状況を非表示にする(エラーも非表示)
$ curl -s -o 出力先PATH http://対象のURL

3.2 出力を指定する

# HTTPメソッドを指定
# HTTPメソッドについて → https://masa-enjoy.com/http-method-postput#toc6
$ curl -X PUT https://<URL>

# HTTPレスポンスヘッダーを取得
$ curl -I https://<URL>

# リクエストヘッダやレスポンスヘッダを表示する
# 「>」= リクエストヘッダ, 「<」= レスポンスヘッダ
$ curl -v https://<URL>
> GET /foo/ HTTP/1.1
~~略~~
< HTTP/1.1 302 Found

3.3 経路操作

# プロキシを経由する
$ curl -x <プロキシサーバ>:<ポート番号> --proxy-user <ユーザ名>:<パスワード> https://<URL>

# リダイレクトを有効にする
$ curl -L https://<URL>

# SSLのエラーを無視して処理を実行する
$ curl -k https://<URL>

3.4 認証操作

# basic認証
$ curl -user <USERID>:<PASSWORD> https://<URL>

# NTLM認証またはDigest認証
$ curl --anyauth --user <USERID>:<PASSWORD> https://<URL>

3.5 小技

# F5アタック
$ while :; do curl -s 'http://<URL>' >/dev/null; done

# 404や200などHTTPステータスコードだけを取得する
$ curl -Ss -w '%{http_code}\n' 'https://<URL>' -o /dev/null

# REST API を叩いて結果だけを確認する
$ curl -fsL https://<URL>

4. 参考

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2