• ベストアンサー

CGIから別のCGIへPostするには?

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

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

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.2

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);

hakoneko2
質問者

お礼

ありがとうございます。 ##################################### #!/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. これはどうしようもないのでしょうか?

その他の回答 (3)

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.4

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

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.3

> 以下のメッセージが出ました。 そのまんまエラーメッセージの通りです。 LWP::UserAgentがない(インストールされていない)ということなのでlibwwwperl(LWP)をインストールしてください。 http://search.cpan.org/~gaas/libwww-perl-5.805/

hakoneko2
質問者

お礼

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

  • venzou
  • ベストアンサー率71% (311/435)
回答No.1

GETは不可ですか?

hakoneko2
質問者

お礼

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

関連するQ&A