• 締切済み

POSTでデータを送信する方法。

他のサーバーのCGIに対してPOSTでデータを送信する方法を探しています。 Perlバージョンは5.8 使用可能モジュールはPerl5.8 標準モジュール もしくはPurePerlモジュール この環境でPOSTを扱う方法をご存知でしたら、教えていただきたく思います。

みんなの回答

  • ytse
  • ベストアンサー率50% (1/2)
回答No.4

socket は標準モジュールですよね (自信なし) 少々面倒ですが、 http://www.7key.jp/program/perl/study3.html のように直にソケットで組むのはどうでしょうか.

参考URL:
http://www.7key.jp/program/perl/study3.html
shirousa01
質問者

お礼

回答ありがとうございます。 Socketモジュールを確認しました。 現在、別の方法でアクセスをしているため、モジュールの内容を確認し、状況に応じて選択していこうと思います。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#1>標準モジュールではなく すみませんでした。 LWPっててっきり標準モジュールだと思い込んでいました。 自分でも確認してみたのですが、標準モジュールではありませんでした。 よく確認もせずに回答して申し訳ありません。

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

POSTでデータ送信でしたら、以下のHTMLでできます。 <form action="URL" method="POST"> <input type="submit" name="name" value="Send"> </form> 自分のサーバでも他人のサーバでもURLさえ変えれば問題ありません。 (他のサイトからのデータを受け取らないCGIもありますが、それは別として。) Perlは関係ありません。 # やりたいのは #1 さんの答えなんだろうなぁ・・・

shirousa01
質問者

お礼

回答ありがとうございます。 今回は、サーバーが返す値がHTMLではなくそのままでは読めないことと、帰ってきた値でさらに処理が必要なためPerlでアクセスすることを目的としています。 そのため、この方法を使用することが出来ません。 今回はIO::Socket::INETを使用することにします。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

use LWP::UserAgent; $ua = LWP::UserAgent->new(); $response=$ua->post("http://www.where.ne.jp/post.cgi", { "formName1" => "value1", "formName2" => "value2" }); print $response->content;

shirousa01
質問者

お礼

回答ありがとうございます。 この方法は凄く簡単で魅力的なのですが、標準モジュールではなく、サイズが700Kバイトあるため、今回は、標準モジュールIO::Socket::INETを使用することにしました。 今後、標準モジュールに追加されましたら使用することにします。

関連するQ&A