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

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だけでできないかと思ったのです。

A 回答 (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が出力されれば、そのページに遷移した
と言いますよね?
    • good
    • 0

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