GNU/Linux >> Linux の 問題 >  >> Linux

CURL Linux コマンド :例による学習

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 コマンドを発見しますか?


Linux
  1. Linuxmvコマンド

  2. Linuxduコマンド

  3. Linuxipコマンド

  1. Linux curlコマンドの例–パート2

  2. Linux curlコマンドの例–パート1

  3. Linuxcdコマンド

  1. Linuxifconfigコマンド

  2. LinuxでのCurlコマンドと例

  3. Linuxタイムコマンド