アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、
http://blog.bulknews.net/cookbook/blosxom/rss/rs …
にある「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/ind …
を指定しています。

mirrorは、UNIXやLinuxでないと使えないのでしょうか?

A 回答 (4件)

> status500


おそらくプロキシ経由で接続されてないことが原因だと思われます。
Webブラウザではプロキシの設定をしていますか?
しているのであれば、同じプロキシをDOSの環境変数に設定する必要があります。

マイコンピュータを右クリックし、プロパティを表示させます。
"詳細設定"タブの一番下に"環境変数"というボタンがあるのでクリックします。
表示されるウィンドウの下側にシステム環境変数の欄があるので、"新規"をクリックし、

変数名: HTTP_PROXY
変数値: http://で始まるプロキシサーバのアドレス

を入力してください。必ずhttp://から入力してください。
プロキシサーバのアドレスは、インターネット接続のプロパティで設定されているものを入力します。その際、

http://プロキシサーバのアドレス:ポート番号

というように、アドレスとポート番号を":"で区切って入力します。

こうすればPerl側でプロキシサーバが認識されます。
    • good
    • 0
この回答へのお礼

試してみたところ無事に動作しました!
本当にありがとうございます。
やはりPROXY経由でないとダメだったようです。

お礼日時:2006/01/10 12:09

>試してみたところ、500が返ってきています。


http://d.hatena.ne.jp/keyword/Internal%20Server% …
サーバー側の問題だとしたら、通信路やサーバーの混雑のせいなのかもしれません。
あと、拒否られた時にも500を返すような場合もあるんですかね。
(ウチからGETできているので、拒否される理由がないけど)

>プロキシを使わないで接続できるのですか?
プロキシ経由で接続していて失敗するなら、
設定がおかしいのかもしれませんね。
#3で説明されている通りです。
$ENV{HTTP_PROXY} = '10.1.2.3:8080';
のように、プログラムの中で、IPアドレスで指定することもできると思います。
    • good
    • 0
この回答へのお礼

No.3でいただいた回答のとおり、無事にできました。
いろいろ教えていただきありがとうございました。
プログラムで設定する方法もあるんですね。
こちらも試してみます。

お礼日時:2006/01/10 12:11

>mirrorは、UNIXやLinuxでないと使えないのでしょうか?


当方XPProですが、
mirrorを使用して質問文のURLをGETできました。
(プロキシは使ってません)
まずは、
$status
を調べましょう。
どんな値になっていますか

この回答への補足

ありがとうございました。
試してみたところ、500が返ってきています。

プロキシを使わないで接続できるのですか?
そのあたりの設定はどうすればできるのでしょうか?

補足日時:2006/01/06 11:54
    • good
    • 0

どんなエラーが出ているかわからないので的確に答えようがないですが、



print LWP::Simple::mirror($url,$cache);

として、帰ってくるステータス番号を調べてください。

なんとなくプロキシ経由で接続していないだけのような気がします。

この回答への補足

ありがとうございます。

試してみたところ、
「500」が帰ってきました。
これはinternal server error の500ですよね?

twinkleluzさんのおっしゃるプロキシ経由で接続していないという
問題の場合、何かを設定すれば解決できるのでしょうか?

補足日時:2006/01/06 11:51
    • good
    • 0

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