IT エンジニアになるには、ネットワーク接続の確認、ファイルのダウンロード、認証の設定など、さまざまなタスクを実行する必要があります。通常、これらのタスクには異なるツールが必要です。まあ、cURL ではありません。 cURL Linux ユーティリティは、IT エンジニアが必要とするほとんどのものに役立ちます。
このチュートリアルでは、cURL が提供するすべてのコマンドライン機能について学習します。
読み進めて、cURL でスキルをレベルアップしてください!
前提条件
このチュートリアルは、段階的なデモンストレーションで構成されています。先に進むには、次のものがあることを確認してください:
- Ubuntu マシン – このチュートリアルでは、Apache がインストールされた Ubuntu 18.04 を使用します。
- Windows XP+ PC – このチュートリアルでは、Windows 10 Enterprise エディションを使用します。
- リモート Linux ホスト – このチュートリアルでは、Ubuntu 18.04.5 LTS マシンを使用します。
- sudo 権限を持つリモート Linux SSH ホストのユーザー アカウント。
cURL Linux (Ubuntu) のインストール
他のツールと同様に、cURL を利用するには、まず cURL をマシンにインストールする必要があります。 cURL は任意の *nix ベースのオペレーティング システムにインストールできますが、最も一般的に使用されているのは Ubuntu です。
cURL は、次のような多数のタスクを実行できるコマンドライン ユーティリティです。
- Windows マシンまたは Linux サーバーのさまざまなネットワーク構成のステータスを表示する
- サーバーとの間でデータを転送する
- HTTP、FTP、IMAP、POP3、SCP、SFTP などの複数のプロトコルをサポートします。
Ubuntu マシンに cURL をインストールするには:
1. お気に入りの SSH クライアントで Ubuntu ホストに接続します。
2. 次のコマンドを実行します。出力はありませんが、~/install_curl_demo という名前のディレクトリが作成されます。 そのディレクトリに切り替えます。このディレクトリには、このチュートリアルで作成するすべてのリソースが格納されます。
mkdir ~/install_curl_demo
cd ~/install_curl_demo
3. 次に、以下の apt update コマンドを実行して、システム パッケージ インデックスを更新します。
このコマンドは、依存パッケージをダウンロードするときに、apt パッケージ マネージャーが適切なソースを見つけられるようにします。
sudo apt update
4. 次に、以下の apt install コマンドを実行して、cURL をマシンにインストールします。
sudo apt install curl
5. 最後に、以下のコマンドを実行して、マシンにインストールされている cURL のバージョンを確認します。これにより、cURL が正常にインストールされたことを確認できます。
curl --version
ウェブサイトの認証
FILE、FTP、HTTP、HTTPS、POP3、SCP、SFTP、TELNET などのさまざまなプロトコル curl がサポートされており、ユーザー操作を行う必要はありません。
curl コマンドを使用して任意の Web サイトで認証する必要がある場合は、URL 自体でユーザーとパスワードを指定する必要があります。ただし、ユーザー名を設定すると、cURL はパスワードを要求します。
以下の curl コマンドを実行し、[email protected]:password を自分のユーザー名とパスワードに置き換え、Web サイトの URL を自分のものに置き換えて認証します。
curl -u [email protected]:password --basic
元の名前または変更された名前のファイルをダウンロードする
ファイルまたはパッケージのダウンロードは、管理者としての日常業務の一部である場合があります。もしそうなら、cURL はきっとあなたを助けてくれるでしょう。 curl
-O
のいずれかを追加したコマンド または -o
オプションを使用すると、元のファイルを保持したり、別の名前を設定したりしながら、ファイルをダウンロードできます。
以下のコマンドを実行して、元の名前 (-O
) の NGINX パッケージをダウンロードします。 ) as (*nginx-1.20.2.tar.gz*
) と別の名前 (-o
) *mytar.gz*
として .
# Downloads the NGINX package with the original name nginx-1.20.2.tar.gz
curl -O
# Downloads the NGINX package with the new name mytar.gz
curl -o mytar.gz
次に、次のコマンドを実行して、mytar2.gz という名前の NGINX パッケージをダウンロードします。ただし今回は、出力に多くの詳細が表示されるのではなく、進行状況バーのみが表示されます。
curl -# -o mytar.gz
最後に ls
を実行します 以下のコマンドを実行して、現在のディレクトリ内のすべてのファイルを一覧表示します。
ls
以下で、nginx-1.20.2.tar.gz を確認できます。 、mytar.gz 、および mytar2.gz ファイルが存在します。
接続タイムアウトの設定
読み込みの速い Web サイトは常に理想的です。cURL には、ユーザーが Web サイトにどれだけ速く接続できるかをテストする方法があります。どのように?接続タイムアウトを設定することにより、curl
コマンドは、特定の時間枠内に Web サイトへの接続を試みます。
接続タイムアウトを設定すると、サーバーがデータ要求に応答するのにかかる時間を決定できます。
以下のコマンドを実行して、20
の adamtheautomator.com サイトへの接続を試みます。 リクエストがタイムアウトする数秒前。
curl --connect-timeout 20 -I adamtheautomator.com
以下に、-I
が表示されていることがわかります。 オプションを使用すると、Web サイトの情報出力にヘッダーを含めることができます。
GET リクエストを使用したデータの取得
「接続タイムアウトの設定」セクションで、接続タイムアウトを設定すると Web サイトに関する情報が提供されることを見てきました。しかし、その情報だけでは不十分な場合は、GET リクエストの送信を検討してください。
以下の curl コマンドを実行して、HTTP GET 要求 (–get) を使用し、https://adamtheautomator.com Web サイトからデータを取得します。
curl --get
以下に、adamtheautomator.com Web サイトの実際のソースを示します。
POST リクエストの送信
データを取得する代わりに、curl
で POST リクエストを送信してデータを送信することもできます。 指図。 -d
パラメーターを使用すると、ユーザーが HTML フォームに入力したときにブラウザーが行うように、POST 要求で指定されたデータを HTTP サーバーに送信できます。
次の curl
を実行します ptsv2.com
に POST リクエストを送信するコマンド
curl -d "name=curl"
次に、Web ブラウザーで https://reqbin.com/ に移動して、POST が成功したかどうかをテストします。
以下で、ステータスが (200 (OK) を示しています。これは、リクエストが正常に送信されたことを示します。
単語定義の検索
cURL を辞書のように使うこともできることをご存知ですか?はい! cURL を使用すると、DICT プロトコルを使用して単語の定義を検索できます。クロック、ubuntu、RDP など、DICT プロトコルを使用して多くの IT 関連用語を検索できます。
curl
の構文 DICT プロトコルを使用したコマンドは次のとおりです:
curl [protocol:[dictionary_URL]:[word]
以下の各コマンドを実行して、公開 Web サイト dict.org
で入手できる辞書から単語の定義を検索します。 .
# Search word definitions for ubuntu
curl dict://dict.org/d:ubuntu
# Search word definitions for clock
curl dict://dict.org/d:clock
以下に示すように、最初の単語定義は ubuntu を検索します 関連する回答が見つからず、一致しませんが返されました .しかし、2 番目のものは単語 clock のいくつかの定義を返しました .
ウェブサイトの HTTP2 プロトコルのテスト
curl コマンドは、Web サイトのダウンロード、アップロード、および認証に間違いなく適しています。しかし、curl が優れたツールであるもう 1 つの点は、特定の URL が新しい HTTP/2 プロトコルをサポートしているかどうかを確認できることです。
次の curl コマンドを実行して、https://adamtheautomator.com/ Web サイトは HTTPS プロトコル (–http2) をサポートしています。
curl -I --http2 -s | grep HTTP
以下のような HTTP/2 200 応答が出力に表示されます。これは、サイトが HTTP2 プロトコルを使用していることを示しています。
結論
cURL は無料のツールですが、多くの機能が備わっています。このチュートリアルでは、Linux で cURL を使用するさまざまな直接の例を経験しました。ファイルのダウンロード、Web サイトの認証、POST または GET リクエストの送信など、cURL はあなたを失望させません。
この新たに発見された知識に基づいて構築してみませんか?おそらく、curl コマンドを使用してファイルを転送し、コマンドとスクリプトを実行する方法を学びませんか?または、cURL API コマンドを発見しますか?