アンドロイド

LinuxのCurlコマンドと例

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

’, Â, � etc... How to fix strange encoding characters in WP or other SQL database

目次:

Anonim

curl は、ユーザーの操作なしで機能するように設計されたサーバーとの間でデータを転送するためのコマンドラインユーティリティです。 curl を使用すると、HTTP、HTTPS、SCP、SFTP、FTPなどのサポートされているプロトコルのいずれかを使用してデータをダウンロードまたはアップロードできます。 curl は、転送の再開、帯域幅の制限、プロキシサポート、ユーザー認証などを可能にする多くのオプションがあります。

このチュートリアルでは、最も一般的なカールオプションの実用的な例と詳細な説明を通して、カールツールの使用方法を示します。

Curlのインストール

curlパッケージは、今日のほとんどのLinuxディストリビューションにプリインストールされています。

Curlパッケージがシステムにインストールされているかどうかを確認するには、コンソールを開いて curl と入力し、Enter curl を押します。 curl インストールされている場合、システムは curl: try 'curl --help' or 'curl --manual' for more information curl: try 'curl --help' or 'curl --manual' for more information 。 そうしないと、 curl command not found などのようなものが表示 curl command not found ます。

curl がインストールされていない場合は、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。

UbuntuおよびDebianにCurlをインストールする

sudo apt update sudo apt install curl

CentOSおよびFedoraにCurlをインストールします

sudo yum install curl

Curlの使用方法

curl コマンドの構文は次のとおりです。

curl

最も単純な形式では、オプションなしで呼び出されると、 curl は指定されたリソースを標準出力に表示します。

たとえば、 example.com ホームページを取得するには、次を実行します。

curl example.com

このコマンドは、ターミナルウィンドウに example.com ホームページのソースコードを出力し example.com

プロトコルが指定されていない場合、 curl は使用するプロトコルを推測しようとし、デフォルトで HTTP

出力をファイルに保存する

curl コマンドの結果を保存するには、 -o または -O オプションを使用します。

小文字 -o は、定義済みのファイル名でファイルを保存します。以下の例では、 vue-v2.6.10.js です。

curl -o vue-v2.6.10.js

大文字の -O は、元のファイル名でファイルを保存します。

curl -O

複数のファイルをダウンロードする

複数のファイルを一度にダウンロードするには、複数の -O オプションを使用し、その後にダウンロードするファイルのURLを続けます。

次の例では、Arch LinuxおよびDebian isoファイルをダウンロードしています。

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

ダウンロードを再開する

-C - オプションを使用して、ダウンロードを再開できます。 これは、大きなファイルのダウンロード中に接続が切断された場合に便利です。ダウンロードを最初から開始する代わりに、前のファイルを続行できます。

たとえば、次のコマンドを使用してUbuntu 18.04 isoファイルをダウンロードする場合:

curl -O

接続が突然切断されると、次の方法でダウンロードを再開できます。

curl -C - -O

URLのHTTPヘッダーを取得する

HTTPヘッダーは、ユーザーエージェント、コンテンツタイプ、エンコードなどの情報を含むコロンで区切られたキーと値のペアです。 ヘッダーは、リクエストまたはレスポンスとともにクライアントとサーバーの間で渡されます。

-I オプションを使用して、指定されたリソースのHTTPヘッダーのみをフェッチします。

curl -I --http2

-L オプションは、最終リダイレクト先に到達するまでリダイレクトを追跡するように curl に指示します。

curl -L google.com

ユーザーエージェントを変更する

ファイルをダウンロードするときに、訪問者のデバイスとブラウザに応じて、リモートサーバーがCurl User-Agentをブロックするか、異なるコンテンツを返すように設定される場合があります。

このような状況で別のブラウザーをエミュレートするには、 -A オプションを使用します。

たとえば、Firefox 60をエミュレートするには、次を使用します。

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

最大転送速度を指定する

--limit-rate オプションを使用すると、データ転送速度を制限できます。 値は、バイト、キロバイト(サフィックスは k 、メガバイト( m サフィックス)、ギガバイト( g サフィックス)で表すことができます。

次の例では、 curl はGoバイナリをダウンロードし、ダウンロード速度を1 mbに制限します。

curl --limit-rate 1m -O

このオプションは、利用可能なすべての帯域幅を curl が消費するのを防ぐのに役立ちます。

FTP経由でファイルを転送する

curl で保護されたFTPサーバーにアクセスするには、次のように -u オプションを使用し、ユーザー名とパスワードを指定します。

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

ログインすると、コマンドはユーザーのホームディレクトリ内のすべてのファイルとディレクトリを一覧表示します。

次の構文を使用して、FTPサーバーから単一のファイルをダウンロードできます。

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

FTPサーバーにファイルをアップロードするには、 -T 続けてアップロードするファイルの名前を使用します。

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

クッキーを送信する

リモートリソースにアクセスしたり、問題をデバッグしたりするために、特定のCookieでHTTPリクエストを行う必要がある場合があります。

デフォルトでは、 curl を使用してリソースを要求すると、Cookieは送信または保存されません。

Cookieをサーバーに送信するには、 -b スイッチの後に、Cookieを含むファイル名または文字列を使用します。

たとえば、Oracle Java JDK rpmファイル jdk-10.0.2_linux-x64_bin.rpm jdk-10.0.2_linux-x64_bin.rpm するには、値が a oraclelicense という名前のCookieを渡す必要があります。

curl -L -b "oraclelicense=a" -O

プロキシを使用する

curl は、HTTP、HTTPS、SOCKSなどのさまざまなタイプのプロキシをサポートします。 プロキシサーバー経由でデータを転送するには、 -x (-- --proxy )オプションを使用し、その後にプロキシURLを続けます。

次のコマンドは、 192.168.44.1 ポート 8888 プロキシを使用して、指定されたリソースをダウンロードします。

curl -x 192.168.44.1:8888

プロキシサーバーで認証が必要な場合は、 -U (-- --proxy-user )オプションの後にコロンで区切られたユーザー名とパスワード( user:password )を user:password

curl -U username:password -x 192.168.44.1:8888

結論

curl は、リモートホストとの間でデータを転送できるコマンドラインツールです。 問題のトラブルシューティング、ファイルのダウンロードなどに役立ちます。

このチュートリアルに示されている例は単純ですが、最も使用されている curl オプションを示しており、 curl コマンドの動作を理解するのに役立ちます。

curl 詳細については、Curlドキュメントのページをご覧ください。

カール端子