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

LinuxでProのようにCURLを使用する方法

Linuxターミナルとcurlのデータを制御し、通信する方法はいくつかあります。 それを行うための最良の方法です。 curl サーバーとの間でデータを転送するために使用できるコマンドラインツールです。 curlを使用できます FTP、HTTP、SFTP、HTTPS、SCPで構成されるサポートされているプロトコルのいずれかを使用してデータをダウンロードおよびアップロードするためのコマンド。 Curlには、帯域幅の制限、転送の再開、ユーザー認証、プロキシサーバーのサポートなど、さまざまな機能があります。

以下は、curlで現在サポートされているプロトコルのリストです。 :

  • FTP / FTPS
  • Gopher
  • HTTP
  • HTTP / 2
  • SMTP / SMTPS
  • IMAP / IMAPS
  • SMB
  • POP3 / POP3S
  • RTMP
  • SCP
  • SFTP
  • RTSP
  • LDAP / LDAPS
  • TelnetとTFTP
  • RTSP

その他の機能は次のとおりです。

  • ユーザーとパスワードの認証
    • 基本
    • ダイジェストプレーン
    • NTLM
    • CRAM-MD5
    • Kerberos
    • 交渉
  • クッキー
  • プロキシトンネリング
  • ファイル転送操作を再開します
  • SSL証明書
  • HTTPおよびHTTPSフォームのアップロード

wget およびcurl 機能がある程度重複しているため、よく比較されます。どちらのツールもインターネットからコンテンツを取得できますが、wgetにはウェブスクレイピングや再帰的なダウンロードなどの機能があり、ユーザーフレンドリーです。ターミナルでファイルをダウンロードするだけの場合は、wgetがより適切なオプションと見なされます。

curlの学習 コマンドの基本は、高度なHTTP認証手順を使用してファイルをアップロードおよびダウンロードするのに役立ちます。さらに、wget FTPとHTTP(S)のみをサポートしますが、curl より多くのプロトコルをサポートします。

curlについては以上です 指図。それでは、ターミナルに直接ジャンプしましょう。

Linuxへの「curl」のインストール

curlがない場合 Linuxシステムでは、次のコマンドを使用してインストールします。それ以外の場合は、インストール手順をスキップして、例に進んでください。

sudo apt-get update
sudo apt-get install curl -y

次に、curlを確認します バージョンを確認することで、システムで利用できます:

curl --version
「curl」の使用例

curlを使用すると、多くのすばらしいことができます。 。それらのいくつかを見てみましょう。

サーバーの外部IPを取得する

インターネット上にはすばらしいリソースがあり、インターネットIPアドレスを取得できます– https://ifconfig.me(有名なLinuxネットワーク構成ユーティリティの栄光にちなんで名付けられました– ifconfig

curlを使用してそのサイトにHTTPリクエストを送信すると、端末に外部IPアドレスが単純な文字列の形式で返されます。

curl https://ifconfig.me

したがって、この結果をbash変数に簡単に入れることができます:

MY_EXTERNAL_IP=$(curl -s https://ifconfig.me)
echo $MY_EXTERNAL_IP

結果は次のとおりです。

ここでは、-s 引数を使用すると、curlダウンロードの進行状況の出力を回避できます:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                  Dload  Upload   Total   Spent    Left  Speed
 100    12  100    12    0     0    181      0 --:--:-- --:--:-- --:--:--   181
天気予報

自分をハッカーのように感じて、ターミナルに天気情報を表示したいですか? curlを使用してそれを行うことができます !

curl http://wttr.in/LOCATION
「curl」出力をテキストファイルに保存する

curlの出力を保存できます 指定されたファイルへのコマンド。

JSON API出力(StarWarsデモAPI)をファイルに保存する例を次に示します。

curl https://swapi.dev/api/planets/1/ -o Tatooine.json

curl バイナリファイルのダウンロードを検出するのに十分スマートです。最も人気のあるオープンソースのInfrastructure-as-Code管理ソフトウェアTerraformをダウンロードする例を次に示します(Terraformの詳細をご覧ください):

curl https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip -o terraform_0.15.0_linux_amd64.zip
複数のファイルをダウンロードする

curlを使用できます 一度に複数のファイルをダウンロードします。 -oを追加するだけです 必要な回数だけ議論します。

curl -o https://example.com/files/file-1 -o file-2 https://example.com/files/file-2 -o file-3 https://example.com/files/file-3
ダウンロード速度の制限

curlのもう1つの便利な機能 ファイルのダウンロード速度の制限です。 --limit-rateを使用してこれを行うことができます 引数と速度の指定:

curl --limit-rate 1M -O https://releases.hashicorp.com/terraform/0.15.0/terraform_0.15.0_linux_amd64.zip

接尾辞が追加されていない限り、指定された速度はバイト/秒で測定されます。 「k」または「K」を追加すると、その数はキロバイトとしてカウントされます。「m」または「M」はメガバイトになり、「g」または「G」はギガバイトになります。

ダウンロードURLリスト

この例では、テキストファイルにリストされているすべてのファイルをダウンロードします。これを行うには、xargsの組み合わせを使用する必要があります curlを使用 コマンド:

xargs -n 1 curl -O < urllists.txt

出力は次のとおりです:

基本認証

-uを使用できます 基本HTTP認証(基本認証)のユーザー名とパスワードを提供する引数:

curl -u username:password -O https://example.com/files/README

URLヘッダーの取得

HTTPヘッダーは、要求されたリソースコンテンツタイプ、ユーザーエージェント、エンコーディングなどの情報を含むコロンで区切られたキーと値のペアです。要求または応答を使用して、ヘッダーはクライアントとサーバーの間で転送されます。ウェブサイトのヘッダー情報を取得するには、-Iを使用します 引数:

curl -I https://hands-on.cloud
クッキーの使用

同じWebサイトへの後続のリクエストでは、Cookieを使用する必要がある場合があります。

Webサーバーから受信したCookieを保存するには、次のコマンドを使用します。

curl -s -o /dev/null -c google_cookies.txt 'https://www.google.com'

引数は次のとおりです。

  • -s –サイレントモード、curlはダウンロードの進行状況情報を出力しません
  • -o /dev/null –Webページの出力を端末に印刷しないでください
  • -c google_cookies.txt –Cookie情報をファイルに保存する

前のリクエストから受け取ったCookieを使用するには、次のコマンドを使用します。

curl -b google_cookies.txt 'https://www.google.com'

HTTP/2サポートの確認

-Iを使用する 、--http2 および-s 指定されたサイトがHTTP/2ヘッダーをサポートしているかどうかを確認するためのオプションを一緒に:

curl -I --http2 -s https://hands-on.cloud/ | grep HTTP
概要

この記事では、curlを使用する最も一般的に使用される例について説明しました。 指図。この記事で、この強力なユーティリティを使い始めることができれば幸いです。記事が気に入ったら、世界に広めるのを手伝ってください!


Linux
  1. LinuxでBusyBoxを使用する方法

  2. Linuxでcronを使用する方法

  3. Linuxターミナルでプロのようにwgetコマンドを使用する方法

  1. LinuxでFINDを使用する方法

  2. LinuxでUnzipを使用する方法

  3. LinuxでSuコマンドを使用する方法

  1. Linuxのアクセシビリティ設定の使用方法

  2. Linuxでpkgsrcを使用する方法

  3. LinuxでGoogleドライブを使用する方法