2002/08/30
ここでは Pegasus 1.2 に添付されている CGI ツールを紹介する。
Pegasus 1.2 で使用可能な CGI ツールは、ここに紹介するもの以外に多数存在するはずである。それらの例については後述する。
qsparse [-r] [-s size] [query]
このプログラムは x-www-form-urlencoded 形式に基づく query を解析し、結果を環境変数に入れる。
例えば
qsparse 'name=alice&age=18'を実行する事によって、環境変数
QS_name
と QS_age
alice
および 18
となる。QS_
が付け加えられる。このような仕様にしてあるのは、クライアントの操作によってシステム定義の環境変数が置き換えられる危険性を避けるためである。
-r
オプションは環境変数の値から CR コードを除去する。
query
を省略すると標準入力から query を読み取る。これは POST メソッドで使用する。
-s size
オプションで標準入力から query を読み取る場合のバッファの大きさを指定できる。[省略値=16KB]
qsparse は簡単な query を処理するのに適している。つまり、
formparse [-r] [-o dir] [query]
-r
オプションが指定された場合には CR コードを取り除く。-o dir
は出力するディレクトリを指定する。[省略値="/tmp"]query
が省略された場合には標準入力から query を読み取る。
formparse
は qsparse
よりも大きなデータを扱うのに適している。
同じ変数が現れる事を想定してformparse
は次の例に示すようなファイルを作成する。
/tmp/name/0 /tmp/name/1 /tmp/name/2 /tmp/name/cloneここに
name
は変数の名前であり、それをディレクトリの名称として、その下に 0, 1, 2, ... の名前のファイルを作成する。これらのファイルの内容が変数の値である。
注意: formparse は現在のところ、multipart/form-data
に対応していません。次のリリースでは対応したいと思います。(これはファイルを送信する時に使用します)