• ベストアンサー

ホストがLWPに対応しているか確認したい

こんにちは。 現在僕が使用しているホストサーバは問い合わせたところ、lwpに対応していると言われました。 しかし、ブログ用のlwpを使用するcgiスクリプトをアップしてブラウザからURLを打ち込み直接アクセスしたところ、500 Internal Server Errorと出ました。 そのスクリプトが正常に動いているかさっぱり解らないのですが、lwpが動作するという確認ができるスクリプトなどあれば紹介していただけないでしょうか? どうぞよろしくお願いします。

  • jyuu
  • お礼率83% (553/665)
  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • t140
  • ベストアンサー率39% (59/150)
回答No.2

>#!/usr/bin/perl >の部分は自分が使用する環境のディレクトリの構成に合 >わせて書き換えるのでしょうか? もちろん環境に合わせてください。 CGIに実行権はありますか? 現時点で他の簡単なCGIは動作していますか? 改行コードが原因かも知れないので念のため以下のように 書いたほうがいいかも知れません。 #!/usr/bin/perl -- #1のソースは、正常に動作すると LWP=ok または LWP=ng を表示します。(表示テストはしてませんが)

jyuu
質問者

お礼

>#!/usr/bin/perl ありがとうございます!!この部分を書き換えたら動作しました。

その他の回答 (1)

  • t140
  • ベストアンサー率39% (59/150)
回答No.1

以下のようなCGIで確認してみてはどうでしょうか? ============================================ #!/usr/bin/perl $MOD= 'LWP'; print "Content-type: text/plain\n\n$MOD=", eval"use $MOD;1" ? "ok\n" : "ng\n";

jyuu
質問者

補足

ありがとうございます!このスクリプトはこのまま名前をつけて.cgiで使えばよいのですよね? やってみたのですが、やはり500 Internal Server Errorが出てしまいます。 正常に作動するとこのスクリプトはいったいどのような結果が吐き出してくれるのでしょうか? #!/usr/bin/perl の部分は自分が使用する環境のディレクトリの構成に合わせて書き換えるのでしょうか? どうぞよろしくお願いいたします。

関連するQ&A

  • LWPモジュールについて教えてください。

    プログラミングは初心者です。 LWPモジュールのサブクラスLWP::Simpleの get()という関数を使いたいです。 現在、Perlは5.005_3を使用しています。 use LWP::Simple; require LWP::Simple; ・ get(URL) と入れると、500 Internal Server Errorと言うものが出てしまいます。 LWPを使うとき、どのようにすれば使えるのかご指導お願いいたします。

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

    Perl,CGI初心者です。 LWPのUserAgent(もしくはSimple)を使ってWeb上のHTMLをGETして、そのHTMLの特定の部分を 出力するCGIプログラムを作成しています。 コマンドプロンプトで<perl "cgiプログラム>とすると想定通りの結果が得られるにも かかわらず、いざブラウザ経由で当該cgiにアクセスしようとすると、エラーにはなりま せんが、データがGETできていません。 何か原因は考えられるでしょうか? LWPを使用する際はApache側にも何か設定が必要なのでしょうか? Webサーバ:Windows XP,Apache2.2,Perl5.8.8

    • ベストアンサー
    • Perl
  • Perlスクリプトが、ローカルでは実行できるが、HTTP経由では実行できない

    現在Perlスクリプトを作成し サーバにアップしました。 SSHでサーバにログインし #perl a.cgi と実行したところ(CGIとして動作させるため。中身はPerlスクリプト) Content-type: text/html <html> <body> あああああ </body> </html> のようなメッセージが表示され正常に動作しているとおもいます。 しかし、 http://www.hoge.com/a.cgi をURLとしてブラウザ上で実行すると 500 Internal Server Error になります。 パーミッションは755で正常 Perlのパスは#!/usr/bin/perlとしており、これも正常です。 文字コードはeuc-jp 改行コードLF サーバはApache/1.3.33 Perlバージョンは5.8.4 自分のパソコン上でperl+HTTPサーバ(httpd)を使うと HTMLふぁいるとして出力されます。 サーバ上でHTTPを使ってアクセスしたときのみエラーとなります。 このような現象が起こるのですが原因がわかりません。 お願いします。

    • ベストアンサー
    • Perl
  • LWP::Simpleでのgetについて

    つい先日ローカルにサーバ環境をインストールし、 色々とプログラムを試しているのですが、 タイトルに記述したLWP::Simpleのgetを使用すると500エラーとなってしまいます 実行内容は下記のような単純なものです use LWP::Simple; $url = "http://localhost/test.cgi";#自動リンク防止に「:」を全角にしてます $html = get($url); print "Content-Type: text/html\n\n"; print $html; ・test.cgi単体では動作しています(単純に文字を出力するのみ) ・$url をローカルでなく外部URL(例 yahoo等)にしてもエラーとなりました ・getを行わなず $html = "a";のように任意文字列にした場合は出力されます ・perl/lib/LWP/ には Simple.pm が入っています ・use 行をevalで囲み $@ を見てみましたがエラーは入っていませんでした ・セキュリティソフトがブロックしている可能性も考え、切ってみましたが駄目でした ・レンタルサーバー上で実行した場合は成功しました($urlを外部URLにて) こちらはApacheやOS側で他に何か設定等が必要なのでしょうか それとも不足しているものがあるのか・・・手詰まり状態です 些細なことで結構ですので、助言いただけると助かります 以上、よろしくお願いします ----------------------------------- Apache/2.2.4 Perl/v5.8.8 WinXP/HE サーバ環境はXAMPP及びXAMPP Add-Onsで一括インストール

  • アクセスで500エラーが出るのは普通ですか

    メールフォームのログ.cgi(パーミッション600とか) にブラウザから試しにアクセスしてみると 500 Internal Server Error が表示されるんですが、これが正常な動作ですか? トップのCGIは通常通り動作します。

    • ベストアンサー
    • CGI
  • 外部CGIファイルの読み込み

    アクションスクリプトで外部CGIファイルを読み込む動作を勉強中です。 色々なサイトや書籍を参考にさせて頂いているのですが、その中で読み込みファイルを"ファイル名+ランダムな数字"としているものがありました。 説明では、『ブラウザのキャッシュが使われない為、毎回違うデータを作成する』とあるのですがなぜこれで動作するのかが分かりません。 実際のスクリプト部分は… CGIFile = "test.cgi?" + Math.floor (Math.random () * 1000); myLoadVars.load (CGIFile); です。 これでは読み込み対象のファイル名が"test.cgi?319"などとなってしまうのでエラーとなるように思うのですが…。 実際、書き出してみると"Error opening URL"と出力されます。 ローカルサーバー(ActivePerl使用)で試してもCGIは読み込まれません。 ですが、レンタルサーバー上にアップしてみるとちゃんとCGIが読み込まれていました。 なぜこのようになるのでしょうか? ローカルサーバーとホストサーバーにアップした場合で結果が変わるのもよく分かりません。 他のCGIは動作するのでローカルサーバーの設定は合っていると思うのですが…。perlのバージョン等でしょうか?CGIは全くの初心者でその辺のことはまったく分からないのですが…。 『ブラウザのキャッシュが使われない為…』とありますがこの意図も掴めずにいます。 ご教授頂ければ幸いです。よろしくお願い致します。 環境はwindowsXP,Flash8as2.0です。

    • ベストアンサー
    • Flash
  • CGIの設置ができない

    よろしくお願いします。 フリーのCGIを設置しようとしています。 CGIKONの「予約閲覧システム」がまさに使いたいものと一致しているので 設置してみようとしたのですが、できません。 SYNCKGRAPHICAさんのメールフォームなど、他のCGIは設置も動作も 問題ありませんが、どうしてもCGIKONさんのプログラムが読めません。 これまでの経過は、 ・ダウンロードして解凍      ↓ ・サーバーにアップ(Perlパスは書き換え不要です)      ↓      ・属性「755」に変更 URLに直接アクセスしても「接続エラー」が出てしまいます。 「リクエストされましたCGIでなんらかのエラーが発生しました INTERNAL_SERVER_ERROR」と表示されます。 たくさんの方が使ってらっしゃるようですので、プログラムには問題ないとして、 どのような原因が考えられるでしょうか。 うまく設置する方法を教えていただけないでしょうか。

    • ベストアンサー
    • CGI
  • FFFTPのホスト設定について

    FFFTPのホストの設定について困っています。 perlの動作環境を整えるため、@pagesの無料サーバを利用する契約をしました。 @pagesとの契約により、FFFTPのホストの設定に必要な ID、パスワード等のデータをメールで受け取り、 これに基づいてホストの設定をしました。 そして、CGIファイルをサーバに送りましたが、相変わらずソース画面のままです。(エラーメッセージもでません。) FFFTPの設定について、頼りにしているサイトによると、アクセスの成功には”257”という数字が表示 されるらしいのです。 しかし、私の場合、 150 Opening ASCII mode data connection for MLSD 226 Transfer complete ファイル一覧の取得は正常終了しました.      (一部省略) このように表示されます。 そして、CGIファイルはソース画面のみ表示されます。 ちなみに、アクセス権の設定は755です。ファイアーウォールは無効です。サーバから送られたデータ について、打ち間違えはないと思います(サーバのアカウントは何度も確認しました。) 素人なりに考えられることは全てやってみましたが、立ち行かなくなりました。 なにか有効な手立てがありましたら、ご教授下さい。お願いします。

  • LWP::Simple::mirrorが実行できません。

    現在、 http://blog.bulknews.net/cookbook/blosxom/rss/rss2js.html にある「RSS feed を JavaScript で HTML に埋め込む」を 実装しようとしています。 Perlは、正常に動作しているのですが、 rss2js.pl の中の ------------------ my $status = LWP::Simple::mirror($url, $cache); if (is_error($status)) { die "$url not found!\n"; } else { rss2js($cache, $num, $encoding); } -------------------- のところで、mirror()がうまくいっていないみたいで、 not foundのエラーが表示されてしまいます。 ソース上は、特に問題ないと思うのですが、 実行環境に問題があるのでしょうか。 ちなみに、環境は  Windows 2003 Server Standard Edition  IIS  ActivePerl 5.8 を使用しています。 URLには、  http://news.goo.ne.jp/news/rss/topics/keizai/index.rdf を指定しています。 mirrorは、UNIXやLinuxでないと使えないのでしょうか?

    • ベストアンサー
    • Perl
  • tdiaryの動作確認

    CGIスクリプトであるtdiaryをサーバーにアップすることなく,自分のパソコンで動作確認できるソフトや良い方法はありませんか? 宜しくお願いします. ちなみにOSはWindows XPです.