プロが教えるわが家の防犯対策術!

PerlのLWP::UserAgentを使った接続で,エラーが生じてしまいます.
ローカルからなら期待通りにページ内容を取得できるのですが,サーバに配置してブラウザからアクセスするとInternal Server Errorとなります.
プロキシは使っていません.ファイアウォールやセキュリティソフトを切ってもエラーが生じてしまいます.
対象URL(下のコードではhttp://wikipedia.simpleapi.net/api?keyword=YouTu …)を変えても同じ結果になります.
理由がわかる方がいらっしゃればご教授願います.
CGIにPerl5,サーバにApache Tomcat 5.5を利用しています.
エラー内容とコードは下のようになっています.

エラー内容
「500 Can't connect to wikipedia.simpleapi.net:80 (Bad hostname 'wikipedia.simpleapi.net')」

コード
#!/usr/local/bin/perl
use LWP::UserAgent;
print "Content-type: text/plain\n\n";
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0");
my $req = HTTP::Request->new(GET => "http://wikipedia.simpleapi.net/api?keyword=YouTu …
my $res = $ua->request($req);
$res = $ua->request($req);
my $content = $res->content;
print $content;
exit;

A 回答 (1件)

そのサーバが、DNSを使ったホスト名解決をサポートしてないのでは。


サーバの管理者に確認してみては。

だめなら、wikipedia.simpleapi.netをIPアドレス直書きして、代わりとしてHTTP要求ヘッダーHostを$reqに追加するとか。

この回答への補足

ご回答ありがとうございます.
直書きするIPアドレスは,http://www.ezinfo.jp/contents/script/dom/index.phpのようなページでsimpleapi.netを変換してできるものでよいのでしょうか?そうしますと,Unknown Errorとなってしまいました.
根本的にどこかが違っているんでしょうか.

補足日時:2008/08/08 23:33
    • good
    • 0

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