1. ホーム
  2. リナックス

強力なコマンドであるcurlの紹介と一般的な使用方法

2022-02-25 18:11:50

curl(コマンドラインURL、CommandLine Uniform Resource Locator)は、その名の通り、データ転送やファイル転送のためのURLの構文を使って、コマンドラインから動作するものです。

このコマンドラインツールは、現在では主にUnixやLinuxのOSで使用されており、オープンソースのツールでありながら非常に強力な機能を持っています。

ここでは、crulの公式サイトで、ツールの最新バージョンと、最も包括的なハウツーを入手することができます。

https://curl.haxx.se/

公式サイトにあるように、このツールは以下の30種類以上の転送に対応しており、複数のプロトコルを含んでいます。

<スパン DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TelnetおよびTFTP。curlは、SSL証明書、HTTP POST、HTTP PUT、FTPアップロード、HTTPフォームベースアップロード、プロキシ、HTTP/2、クッキー、ユーザー+パスワード認証(Basic , Plain, Digest, CRAM-MD5, NTLM, Negotiate, Kerberos)、ファイル転送レジューム、プロキシトンネリングに対応しています。


よく使われるプロトコルは、FILE、FTP、HTTP、HTTPSなどです。

例えば、プログラマーが、http転送やSOCKETなどのリモートサービスを開発する際、ネットワークプログラミングの検証ツールやテストツールとして、非常に便利です。

例えば、この方法でページを取得する最も簡単な使い方は以下の通りです。使用するプロトコルを指定しなかったので、www.baidu.com甚至还不是一个完整的URL と入力したところ、curl がインテリジェントに選択をしてくれました。

実行すると、BaiduのホームページのHTMLコードが返ってきます。

curl www.baidu.com


この記事はまだcurlの一般的な使用方法についてのものですので、詳しい使用方法については公式サイトを参照してください。

curlの使い方は、通常のlinux/Unixのコマンドと同じで、一般的な構文は以下の通りです。

crul -[option] [URL]

1. vオプション、--verboseを指定すると、URLの接続情報を記録します。このオプションを元にcurlの動作を確認することができる。

例えば、先程のBaiduのリンクでは、-vオプションを追加してその動作を確認しています。

オプションを付けて返された情報には、重要な情報がたくさん含まれています。

ドメイン解釈処理:実際の接続先のIPアドレスとポートを取得することができる

リクエストヘッダ情報:使用されるプロトコル(HTTP)、プロトコルのリクエストメソッド(GET)があるところ。

レスポンスヘッダ情報:ステータスコード(200)、コンテンツフォーマット(text/html)、コンテンツ長などが含まれます。

curl -v www.baidu.com


2. iオプション、--includeは、レスポンスヘッダーを含めます。-vのサブセットである-vとほとんど同じです。

curl -i www.baidu.com


3. I (capital i) オプション、--head は、返されたヘッダーのみを表示し、-v のサブセットである -v とほぼ同じである。

curl -I www.baidu.com


<イグ

4. -uオプション、ユーザー認証による接続。ユーザー認証を伴うURLへのアクセスや取得を可能にする。

curl -u username:password ftp://127.0.0.1/hello.txt
curl -u username ftp://127.0.0.1/hello.txt
curl -u username:password https://127.0.0.1/

5. -dオプション、リクエストパラメータとの接続。例えば、次のURLは、user=xiaoruan&age=22は、パラメータです。crulは、リクエストパラメータを取ることができます。

http://127.0.0.1/index.html?user=xiaoruan&age=22

curl -d 'user=xiaoruan&age=22' http://127.0.0.1/index.html



6. -Xオプションは、リクエストメソッドを指定すると、我々は唯一のURLは、リクエストメソッドの様々な持つことができ、最も一般的なのはGETとPOSTですが、GET、PUT、POST、DELETEなどリクエスト、方法の4種類を指定します。

これら4つのリクエストメソッドは、RESTFULインターフェースの開発やテストを行っている人々にとって非常に便利です。

curl -XGET www.baidu.com
curl -XPOST www.baidu.com
curl -XDELETE www.baidu.com
curl -XPUT www.baidu.com



curlの便利な機能はまだまだたくさんあり、その後の使い方も継続的に更新していく予定です。普段よく使っているcurlの使い方や、とても便利だと思う使い方など、共有したり、残したりすることをお待ちしています。