• ベストアンサー

perl言語でのURL取得

perl言語にてCGIを書いてます。 皆様のお知恵を借りれればと思い、質問させていただきます。 CGIで表示されたページのURL(クエリを含む)を変数にしたいと思っています。 CGI.pmではクエリを含めることができずに困ってしまいました。 URI.pmで合成するのが無難でしょうか?

  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.1

$ENV{'REQUEST_URI'} ではダメですか?

dolce_g
質問者

お礼

ありがとうございました。 灯台下暗しでした。基本的なことを忘れてました。

関連するQ&A

  • Perlにこのようなことはできるのでしょうか

    質問させていただきます 最近ちょっとcgiに触れているのですが、perlには次のようなことは可能なのでしょうか 可能ならばもう少し勉強して実際にそういった動きをするcgiを作ってみたく思っています 1.テキストボックスにUrlを入力してもらう 2.送信ボタンが押されたらUrlを参照して対象のページの内容を見にゆき、 3.その中を文字列検索して欲しい情報を持ってきて、表示する cgiに「できること」は様々なページに載っていたのですが、「できないこと」はさすがに載っておらず 2.の部分ができるのかできないのかがよくわかっておりません cgiで可能なのかどうか、もし不可能ならばそういった動作を行うのによいのはどんな言語なのか というのをご返答いただければと思います。

  • perl言語について

    いままで、Visual C++製品を使用してC言語を覚えてきました。 cgiを作成したいとおもい、perlを覚えようとしています。 不満、不安があるのですが、 Visualな画面で変数に色をつけてみたり、 自動インデントしてくれたり、 デバッガがあったり、、、 PerlのIDEはありませんか? 初心者にメモ帳はつらいです。 後、Perl言語に変数すべてに$がついているはみにくくていやです。型がなくて不安です。 それから、print "Hello";のprintは、どうして&print ではないのですか? 後、書籍は買ったほうがよろしいでしょうか? くだらない内容かもしれませんがお答えいただけると助かります。

    • ベストアンサー
    • Perl
  • Perl言語を使っています

    Perl言語を使っています URLを定義して、 その、Webサイトの中を表示するといったようなことは 可能なんでしょうか?? もし、可能であれば サンプルソースなど、 おねがいします 文字だけで構いません あと、10文字表示したいのに その、システムが5文字しか 表示できない場合に 残りの5文字はどのようにして表示させるのでしょう 2つも書いて申し訳ございません print "Prel言語使います" だけど、5文字しか表示できないそうなると "Perl言"こうなります、残りの5文字はどのようにすればいいのでしょう

    • ベストアンサー
    • Perl
  • URL変数はその存在を他人に知られますか?

    perlやjavascriptでお世話になりまくってます、mahouです。素朴な疑問なのですが、ハッカーとかそういう人にお聞きしたい質問です(笑)。perlのURL変数で質問です。 data_input.cgi data_input.cgi?admin=1 ↑のように一つのcgiファイルをURL変数の有無により表示を変えて使ってます。data_input.cgiが一般の人に見せるページで、data_input.cgi?admin=1とURL変数を指定すると管理画面が現われるようになり、データの削除や変更が出来ます。 管理画面を見るにはadminと1という値が必要なのです。そこで質問なのですが、URL変数というものはサーチエンジンのロボットが探し当ててしまったり、ハッキングソフトなどで簡単に分かるものなのでしょうか? 個人的にはPERLのソースを見ない限りは分かるはず無いと思ってます。勿論、スゴイハッカーさんとかにはきっと何をしても分かってしまいそうですが、それ以外の防御には充分なりますよね? もしURL変数は漏れるという事実があるなら、htaccessも追加したいと思います。分かる方、どうか教えてください。 ちなみに「オートコンプリートや履歴がURLを覚えるから」などは特に問題視してません。同パソコンでしかアクセスしませんし、パソコンをもって行かれたらそれまでですし(笑)。

    • ベストアンサー
    • Perl
  • なぜ CGI は Perl 言語で作成/動く環境が多いのか。

    最近 CGI に興味をもちここで質問しながらネット検索をしました。 すると Perl 言語での CGI サンプルが一番多く C 言語で作る CGI の サンプルが少し見つかりました。 私の使っている無料サーバーでも CGI は使えますが Perl 言語だけ有効です。 セキュリティの問題で SSI と組み合わせた C 言語の CGI は実行出来ないようです。 質問内容: (1)なぜ CGI は Perl 言語が一番多いのか?→PHP、Cもあるのに (2)なぜ無料サーバーの多くが Perl 言語しか使えないのか? (3)処理の重い CGI を使うとサーバーがダウンするので使わないようにと  私の使っている無料サーバー(infoseek)でなっています。どの程度の  処理のことでしょうか? 上記の3つまたは1つでもアドバイスをして欲しいです。 回答をお待ちしています。

    • ベストアンサー
    • CGI
  • SSIで呼び出したURLの取得

    a.shtmlから ../a.cgi をSSIで呼び出したとき、a.shtmlのURLを取得したいのですが、うまい方法はありますでしょうか。 $ENV{'REQUEST_URI'} $ENV{'SCRIPT_FILENAME'} $ENV{'SCRIPT_NAME'} で表示してみたら、a.cgiのURL(パス)が出てきて、a.shtmlのURL(パス)が出てこなかったのです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • perlの初心者本買ってきたものの・・・

    つい最近perlに手を付けて、非常に手こずっています。何に手こずっているかも申しますと、ほんの通りにプログラムを書いてもうまく動作しないことです。本は「Perl/CGI超入門」(藤森○絵)筆です。入力フォームのボタンをクリックしてもWEBページ(localhost)が「開くことができません」とでます。HTML、○.plどちらも指定したフォルダに入っています。HTMLのページは入力フォームですがちゃんとWEBに出ます。でも、フォームの中の文字列を取得してCGIのページになると表示されません。perlはCygwin,Activperlとも試してみました。CGIのページに跳んだときのURLは本に書いているURLと同じくでます。 著者へ質問できるようなアドレスも無く、技術評論者に質問できるようなページもないので、なすすべ無しといったところです。私のPCの設定に問題があるのかもと思い、インターネットセキュリティーソフトをおアンインストールしてみましたが同じでした。内心、これを超初心者として出版しているのであれば、本当に初心者のものは皆頭にきてしょうがないだろうなというのが本音です。perl自体の言語で引っかかっているのではなく、サンプルプログラムが動作しない(コピペで)。どなたか同じ本を買った方で、原因が分かるか方おりませんでしょうか。

    • ベストアンサー
    • Perl
  • パールについて

    CGIでの環境変数を使ってホスト名を取得するときの (($host eq "") || ($host eq $addr)))の文のなかで使われている ||の意味が分かりません。とても初歩的な質問のような気がするのですが教えて頂けませんか。言語はパールです。

    • ベストアンサー
    • Perl
  • 「perl-cgiで質問です」URL打ち込みをPOSTで送信したい?

    自作したtest.cgiに、 http://localhost/test.cgi?1,2,3,4,5 このように書くと、 1 2 3 4 5 と表示されるperlプログラム ==== $qs = $ENV{'QUERY_STRING'}; @array= split(/,/,$qs); foreach(@array){ print ; print "\n"; } ==== を作ったのですが、この数字の部分を長くするとうまくいきません。 もしかすると、GET?で送信されているため、長すぎると正常に受信できないのかもしれません。 詳しくは分かりません。 しかし、何とか、URLに直接書き込んだ状態で正常に表示させたいのですが何とかする方法は無いでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Perl
  • perlでURLに引数を入れるで表示する方法

    現在以下のURLで正常に表示しています。 http://hoge.jp/i.cgi?id=a これを http://hoge.jp/i.cgi?a で表示させたいと思うのですが、ウエブで調べましたら「METHOD=GETで渡す」方法が現在のやり方 で「コマンドライン引数で渡す」方法に変えたいのですが、perlの記述がいまいちわからず迷ってます。 プログラムはファイルを読み込んで if ("$idno" eq "$id") のこの$idの条件式でヒットさせているものになります。 変数記述等アドバイスいただけますと助かります。 うまく説明できずすみません。 よろしくお願いいたします。

    • ベストアンサー
    • Perl

専門家に質問してみよう