curl

提供: FreeBSD入門
移動: 案内検索
スポンサーリンク

curlコマンドとは、ウェブサーバなどにデータを送信し、サーバからデータを受け取るウェブのクライアントプログラムです。

読み方

curl
しー ゆー あーる える

概要

curl は、ウェブサイトやWebAPIのデバッグなどによく利用されます。 怪しいページにウェブブラウザでアクセスしたくないときにもよく利用されます。

インストール

pkgコマンドでインストールする場合

sudo pkg install curl

設定

設定ファイルは、$HOME/.curlrc です。 プロキシを設定する場合の例です。

proxy-user = "user:password"
proxy = "http://proxy:8080"

使い方

ボディを表示する

curl http://www.google.com/

ヘッダとボディを表示する

curl -i http://www.google.com/

ヘッダだけ表示する

HTTPのレスポンスヘッダ(header)を確認するときに使用します。

curl -I http://www.google.com/

ヘッダを指定する

curl -H 'X-Foo: bar' http://www.google.com/

リダイレクトに追従させる

curlは、デフォルトでは、リダイレクトされても、その先を追いかけません。リダイレクト先にアクセスさせたい場合には、-L オプションを使用します。

curl -L http://www.google.com/

-v オプションで何がおきているのか、確認できます。

curl -v -L http://www.google.com/

名前と値をPOSTする

ウェブページのformをPOSTするように、データをPOSTする例です。

curl -F "name1=value1" -F "name2=value2" http://example.com/

ファイルをPOSTする

ローカルの path/to/file.png を送信します。

curl -F "file=@path/to/file.png" http://example.com/

--dataと--formの違い

--dataや--formなどのオプションがいくつかあります。

--data

--data は、 application/x-www-form-urlencoded 形式でPOSTします。

  • @path/to/file は、ファイルを読み込んで、改行文字を取り除きます。
  • @path/to/file のファイルの中身は、すべて URL エンコードされていることを期待します。curlコマンドは、URLエンコードしません。
curl -d @file http://localhost/

--data-binary

--data をほぼ同じですが、以下の違いがあります。

  • 改行文字を取り除きません。

バイナリファイルのデータをそのまま送信するときに使用します。

--data-urlencode

--dataとほぼ同じですが、データをURLエンコードします。

--form (-F)

multipart/form-data 形式でPOSTします。

--form-string

--formとほぼ同じですが、 @ と < が特別な意味を持ちません。 @foo という文字列を送信したいときに、使います。

プロキシを利用する

設定でもプロキシを設定できますが、コマンドラインでも設定できます。

curl -U user:password -x proxy:8080 -L http://www.google.com/

関連項目




スポンサーリンク