Bash の Curl コマンドの Urlencode データ

Dr. Muhammad Abdullah 2023年6月20日
Bash の Curl コマンドの Urlencode データ

curl は、あるマシンから別のマシンにデータを転送する Linux コマンドライン ユーティリティです。 HTTPDICTFILEFTPFTPSIMAPIMAPSPOP3 など、複数のプロトコルで動作します。

この記事では、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 は、サーバーにデータを送信するための別の形式をサポートしています。 例えば:

  1. --data-ascii は、-d または --data オプションと同じように機能します。
  2. --data-binary オプションは、POST データをコマンドで指定された実際の形式で処理せずに送信するために使用されます。
  3. --data-urlencode オプションは、URL エンコードを実行して POST データをサーバーに送信します。

curl コマンドからの URL エンコード データ

–data-urlencode を指定した curl は、URL エンコードを実行してサーバーにデータを送信するために使用されます。

例えば:

curl --data-urlencode "p1=v1" [URL]

上記のコマンドは URL をカールし、パラメータ p1v1 を URL エンコード形式で渡します。 このコマンドは、値 v1 を URL エンコードし、p1 が既に URL エンコードされた形式であると想定します。

この curl オプションは curl 7.18.0 以降で使用できます。 たとえば、curl コマンドのバージョンを確認するには、curl -V を使用できます。

--data-urlencode オプションを指定した curl コマンドは、複数の形式で使用できます。 例えば:

  1. curl --data-urlencode =content [URL]
    

    このコマンドはコンテンツを URL エンコードし、POST で送信します。 = はデータに含まれません。

  2. curl --data-urlencode name@file [URL]
    

    このコマンドは、指定されたファイルのデータを URL エンコードし、POST で送信します。 このコマンドは、名前がすでに URL エンコードされた形式であると想定しています。

  3. curl --data-urlencode @file [URL]
    

    このコマンドは、指定されたファイルのデータを URL エンコードし、POST で送信します。