強力なコマンドであるcurlの紹介と一般的な使用方法
curl(コマンドラインURL、CommandLine Uniform Resource Locator)は、その名の通り、データ転送やファイル転送のためのURLの構文を使って、コマンドラインから動作するものです。
このコマンドラインツールは、現在では主にUnixやLinuxのOSで使用されており、オープンソースのツールでありながら非常に強力な機能を持っています。
ここでは、crulの公式サイトで、ツールの最新バージョンと、最も包括的なハウツーを入手することができます。
公式サイトにあるように、このツールは以下の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の使い方や、とても便利だと思う使い方など、共有したり、残したりすることをお待ちしています。
関連
-
"collect2: error: ld returned 1 exit status" の解決法
-
MongoDBインストール+解決エラー。mongod.service の起動に失敗しました:until not found
-
シェルスクリプトに$0, $? , $! , $$, $*, $#, $@ などのシェルスクリプトとlinuxコマンド実行時の戻り値の意味
-
Linuxでビジー状態のテキストファイルでプログラムを実行する場合の対処法
-
centos - centos7でcrontabを使用してmysqlのスケジュールバックアップを行う。
-
pip: コマンドが見つかりません
-
Linux】シェルスクリプト「syntax error: unexpected end of file」の原因と処理について
-
condaインストール時の国内ミラー設定による高速ダウンロードの実現
-
CentOS7 起動 SSH サービスレポート。ssh.service のジョブは、制御プロセスがエラーコードで終了したため、失敗しました............。
-
SSL:EE_KEY_TOO_SMALLの解決方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
psycopgのアセンブルはエラーになります。Error: pg_config 実行ファイルが見つかりません。
-
VNC mesg を開くとき: ttyname に失敗しました。デバイスに不適切な ioctl
-
を作ってください。*** ターゲット `menuconfig' を作成するためのルールがありません。 停止.問題解決-Linux (3)
-
C言語改善
-
CentOS 7 エラー: curl#60 - "ピアの証明書は有効期限が切れています。"
-
エラーとなったシェルスクリプトを実行します。"予期しないトークン付近の構文エラーに対する解決策`"
-
linux nohup コマンドの使用法の詳細
-
ソケットプログラミング,select:不正なファイルディスクリプタ
-
curlコマンドの使用。HTTPリクエスト、ファイルダウンロード、FTPアップロードとダウンロード
-
linux はディレクトリのパーミッションの問題に遭遇しました mkdir()。パーミッションが拒否された 解決方法