curl

curlとはFTPやHTTP、HTTPSなどのさまざまな通信プロトコルでデータを転送するコマンドラインツールである。

構文

curl [options] URL...

オプション

curlコマンドには次に示すオプションを指定できる。

-#
--progrss-bar
進捗状況を表示する。
-0
--http1.0

HTTP 1.0でリクエストする。

-1
--tlsv1

TLSバージョン1.xを使ってネゴシエーションする。

-2
--sslv2

SSLバージョン2を使ってネゴシエーションする。

-3
--sslv3

SSLバージョン3を使ってネゴシエーションする。

-a
--append
(FTP, SFTP) ファイルをアップロードするときに、既存のファイルが存在する場合、ファイルを上書きするのではなく、ファイルの末尾に追加する。
--connect-timeout seconds

最大接続時間をsecondsで指定した時間(秒単位)に制限する。

-d param
--date param
(HTTP) POSTリクエストとしてフォームを送信する。paramにはリクエストパラメータを「"name"="value"」の形式で指定する。
--digest
(HTTP) ダイジェスト認証を有効にする。
-f
--fail
(HTTP) サーバー・エラーが発生した場合に、サーバーが返すHTTPレスポンス・メッセージを出力しない。
--ftp-create-dirs
(FTP, SFTP) 接続時に必要に応じてディレクトリを作成する。
--ftp-pasv
(FTP) パッシブモードを使用する。
-G
--get

HTTP GETリクエストで送信する。

-H
--header
(HTTP) サーバへHTTPを送信するときに、リクエストに含める追加ヘッダを指定する。

一部のリクエストヘッダには専用のオプションが用意されている。

HTTP request header curlコマンド オプション
User-Agent -A
--user-agent
Referer -e
--referer
Cookie -b
--cookie
$ curl --header 'Content-Typ:text/xml' http://example.com/
--http1.1
(HTTP) HTTP 1.1でリクエストする。(デフォルト)
--http2
(HTTP) HTTP 2でリクエストする。
-o filename

取得したデータをfilenameで指定したファイルに保存する。

--ssl

接続時にSSL/TLSの利用を試みる。

--retry num

エラーになった場合、numで指定した回数だけ再試行する。

-T filename
--upload-file filename

filenameで指定したファイルをアップロードする。

--url URL

URLで指定したURLにアクセスする。

-v
--verbose
リクエストとレスポンスを表示する。
$ curl -v https://segakuin.com/

GET

HTTPリクエストをGETメソッドで送信するには、curlコマンドに -G オプションを指定する。

$ curl -G http://example.com

POST

HTTPリクエストをPOSTメソッドで送信するには、curlコマンドに -d オプションを指定する。

$ curl -d "param"="value" http://example.com

Linuxコマンド