- ベストアンサー
コマンドラインから、abc.cgi?以下を渡す方法
httpサーバーにて、 CGIで、GET方式で値を渡すと、?以降に値がついて渡されますが、 コマンドライン上から、 abc.cgi?以下を渡してみるにはどうしたらよいでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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)を入力します。
お礼
windows上とlinux上を行ったり来たりしているので、非常に助かりました。 いろいろ教えてくださって、どうもありがとうございました。