’, Â, � etc... How to fix strange encoding characters in WP or other SQL database
目次:
- Curlのインストール
- UbuntuおよびDebianにCurlをインストールする
- CentOSおよびFedoraにCurlをインストールします
- Curlの使用方法
- 出力をファイルに保存する
- 複数のファイルをダウンロードする
- ダウンロードを再開する
- URLのHTTPヘッダーを取得する
- ユーザーエージェントを変更する
- 最大転送速度を指定する
- FTP経由でファイルを転送する
- クッキーを送信する
- プロキシを使用する
- 結論
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をインストールします
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
は、元のファイル名でファイルを保存します。
複数のファイルをダウンロードする
複数のファイルを一度にダウンロードするには、複数の
-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
接続が突然切断されると、次の方法でダウンロードを再開できます。
URLのHTTPヘッダーを取得する
HTTPヘッダーは、ユーザーエージェント、コンテンツタイプ、エンコードなどの情報を含むコロンで区切られたキーと値のペアです。 ヘッダーは、リクエストまたはレスポンスとともにクライアントとサーバーの間で渡されます。
-I
オプションを使用して、指定されたリソースのHTTPヘッダーのみをフェッチします。
curl -I --http2
-L
オプションは、最終リダイレクト先に到達するまでリダイレクトを追跡するように
curl
に指示します。
ユーザーエージェントを変更する
ファイルをダウンロードするときに、訪問者のデバイスとブラウザに応じて、リモートサーバーが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ドキュメントのページをご覧ください。