Bash の Curl コマンドの Urlencode データ
curl
は、あるマシンから別のマシンにデータを転送する Linux コマンドライン ユーティリティです。 HTTP
、DICT
、FILE
、FTP
、FTPS
、IMAP
、IMAPS
、POP3
など、複数のプロトコルで動作します。
この記事では、bash で curl
コマンドのデータを urlencode
する方法を説明します。 curl
コマンドの構文から始めましょう。
Bash の curl
コマンド
curl
コマンドの基本的な構文は次のとおりです。
curl [URL] [option]
例:
curl http://example.com
このコマンドは、Linux ターミナルで http://example.com
のコンテンツを表示します。
curl
コマンド オプション
curl
コマンドでは複数のオプションを使用できます。 通常、オプションは 1つのダッシュ (-
) または 2つのダッシュ (--
) で始まります。 たとえば、1つのオプションを指定した curl
コマンドは、次のように記述できます。
curl -L [URL]
複数のオプションを持つ curl
コマンドは、次のように記述できます。
curl -ELb [URL]
また
curl -E -L -b [URL]
curl
-d
または --data
オプション
curl
コマンドの -d
または --data
オプションは、POST
リクエストとしてサーバーにデータを送信するために使用されます。 例えば:
curl -d "p1=v1&p2=v2" [URL]
また
curl --data "p1=v1&p2=v2" [URL]
このコマンドは、指定された URL
にデータを送信します。 たとえば、パラメータ p1
の値は v1
であり、パラメータ p2
の値は v2
であり、サーバーに送信されます。 これらのパラメータは、純粋なバイナリ形式で送信されます。
curl
は、サーバーにデータを送信するための別の形式をサポートしています。 例えば:
--data-ascii
は、-d
または--data
オプションと同じように機能します。--data-binary
オプションは、POST
データをコマンドで指定された実際の形式で処理せずに送信するために使用されます。--data-urlencode
オプションは、URL エンコードを実行してPOST
データをサーバーに送信します。
curl
コマンドからの URL エンコード データ
–data-urlencode を指定した curl は、URL エンコードを実行してサーバーにデータを送信するために使用されます。
例えば:
curl --data-urlencode "p1=v1" [URL]
上記のコマンドは URL をカールし、パラメータ p1
値 v1
を URL エンコード形式で渡します。 このコマンドは、値 v1
を URL エンコードし、p1
が既に URL エンコードされた形式であると想定します。
この curl
オプションは curl 7.18.0
以降で使用できます。 たとえば、curl
コマンドのバージョンを確認するには、curl -V
を使用できます。
--data-urlencode
オプションを指定した curl
コマンドは、複数の形式で使用できます。 例えば:
-
curl --data-urlencode =content [URL]
このコマンドはコンテンツを URL エンコードし、
POST
で送信します。=
はデータに含まれません。 -
curl --data-urlencode name@file [URL]
このコマンドは、指定されたファイルのデータを URL エンコードし、
POST
で送信します。 このコマンドは、名前がすでに URL エンコードされた形式であると想定しています。 -
curl --data-urlencode @file [URL]
このコマンドは、指定されたファイルのデータを URL エンコードし、
POST
で送信します。