httpサーバーにて、
CGIで、GET方式で値を渡すと、?以降に値がついて渡されますが、

コマンドライン上から、
abc.cgi?以下を渡してみるにはどうしたらよいでしょうか。

A 回答 (3件)

私の場合は、getとpostと引数をパラメータとしてみなすように関数を


つかって毎回よびだしてたんんでシームレスにつかえてました。
負荷の上昇はそんなにみられなかったからそれで大丈夫なんでは?
    • good
    • 0

GETで受け取るCGIスクリプトをコマンドラインで確認したいん


ですね。パラメータは環境変数QUERY_STRINGで渡されますから、
UNIXのcshだったら
% setenv QUERY_STRING param=123&id=abc
% abc.cgi
sh, bashあるいはWindowsでもcygwinだったら)
$ QUERY_STRING='param=123&id=abc'; export QUERY_STRING
$ abc.cgi
もしくは
% env QUERY_STRING='param=123&id=abc' abc.cgi
などで渡すことができるでしょう。DOSの世界ならちょっと
むずかしいので、abc.cgiの冒頭に、
unless ($ENV{REQUEST_METHOD}) {
$ENV{REQUEST_METHOD}='GET';
$ENV{QUERY_STRING}=shift;
}
などと書いておき、
C:\> perl abc.cgi param=123&id=abc
と引き数に指定してやればQUERY_STRINGとして渡されます。

なお、CGI.pmを使っているならCGIモジュールをuseしてる箇所を
use CGI qw(-debug);
にし、
C:\> perl abc.cgi
と実行すると、プロンプトからパラメータを読み込むオフラインモードに
なりますから、そこでパラメータを指定することができます。
(offline mode: enter ....)
param=123
id=abc
このようにパラメータごとに改行してもかまいません。パラメータ
入力を終えるにはCntrlキー+D(DOSならCtrl+Z)を入力します。
    • good
    • 0
この回答へのお礼

windows上とlinux上を行ったり来たりしているので、非常に助かりました。
いろいろ教えてくださって、どうもありがとうございました。

お礼日時:2001/06/03 11:49

@ARGV($ARGV[0]など)


を使うとうまくいくとおもいます。
例:
./aaa.cgi test
で、
print "$ARGV[0]";
と実行すると「test」が代入されます。

ちょっと説明が下手ですが試してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報

カテゴリ