• 締切済み

LWPでPOST送信した後に送信先に移動したい

LWPで別サーバーのtest.cgiに以下のようなコードで POST送信しています。 use HTTP::Request::Common; use LWP::UserAgent; $query="param1=dummy"; $ua = LWP::UserAgent->new(); $req = HTTP::Request->new(POST => "http://xxx.xxx.xxx/test.cgi"); $req -> content_type('application/x-www-form-urlencoded'); $req -> content($query); $res = $ua->request($req); $success = $res -> is_success; if(!$success){ die("error"); } $con = $res -> content; この場合、$conにtest.cgiの出力が入るだけで、 URLのhttp://xxx.xxx.xxx/test.cgiに遷移することはできません。 HTMLのformタグでPOST送信したときのように、 POSTでデータを送信してかつ、その送信先に移動するということはできるのでしょうか。 LWPでなくてもいいです。 要するにHTMLのformタグでのPOST送信を手動ではなく、自動で行いたいわけですが、 <form action="http://xxx.xxx.xxx/test.cgi" method="post"> <input type="hidden" name="param1" value="dummy"> </form> このようなタグのあるHTMLを表示して、 JavaScriptでonLoadでsubmitすればできるのですが、 JavaScriptを使っているとSSLの場合にセキュリティのアラートがでる場合があるので、 できればPerlだけでできないかと思ったのです。

みんなの回答

回答No.1

> この場合、$conにtest.cgiの出力が入るだけで、 > URLのhttp://xxx.xxx.xxx/test.cgiに遷移することはできません。 http://xxx.xxx.xxx/test.cgiの出力が得られることと、 http://xxx.xxx.xxx/test.cgiに遷移することは 同じ意味だと思います。ブラウザでtest.cgiが出力されれば、そのページに遷移した と言いますよね?

関連するQ&A