電子書籍の厳選無料作品が豊富!

こんにちは。
a.cgiにアクセスがあったらb.cgiに<data=hoge>というデータを
postしたいのですが、どうすればいいのですか?

よろしくお願いします。

A 回答 (4件)

CGIの言語がPerlだとして、


LWP
HTTP::Request::Common
を使う例。


use LWP::UserAgent;
use HTTP::Request::Common qw(POST);

$url = "http://hogehoge/cgi-bin/b.cgi";

%formdata = ('data' => 'hoge');

$request = POST($url,[%formdata]);
$ua = LWP::UserAgent->new;
$res = $ua->request($request);
    • good
    • 0
この回答へのお礼

ありがとうございます。

#####################################
#!/usr/bin/perl
use LWP::UserAgent;
$url = "b.cgi";
%formdata = ('data' => 'hoge');
$request = POST($url,[%formdata]);
$ua = LWP::UserAgent->new;
$res = $ua->request($request);
####################################
としましたが、以下のメッセージが出ました。

Can't locate LWP/UserAgent.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at ./a.cgi line 2.
BEGIN failed--compilation aborted at ./a.cgi line 2.

これはどうしようもないのでしょうか?

お礼日時:2006/12/16 00:55

書き忘れたのでもうひとつ


> $url = "b.cgi";
とされていますが、これではダメです。
LWPは普通のブラウザ同様にHTTPでアクセスするものですから
http://~とちゃんとURLで記述してください。
(そもそもそうでないとPOST/GETで投げることなんてできません)
    • good
    • 0

> 以下のメッセージが出ました。



そのまんまエラーメッセージの通りです。
LWP::UserAgentがない(インストールされていない)ということなのでlibwwwperl(LWP)をインストールしてください。

http://search.cpan.org/~gaas/libwww-perl-5.805/
    • good
    • 0
この回答へのお礼

ありがとうございます。
レンタルサーバーでインストールできないのであきらめます。
ありがとうございました。

お礼日時:2006/12/17 00:39

GETは不可ですか?

    • good
    • 0
この回答へのお礼

ありがとうございます。
ポスト先は私の管理ではないので不可です

お礼日時:2006/12/16 00:47

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