人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PerlでHTTPSへPOSTした結果を受け取るスクリプトはどのように書けばいいのでしょうか?

PHPでいうと、以下のようなソースの内容です。
$ret = file_get_contents($url_str);
if($ret == ”xxxxxx”){
ZZZZZZZZ
}else{
YYYYY
}
よろしくお願いします。

●質問者: iiiiiiiii
●カテゴリ:ウェブ制作
✍キーワード:HTTPS Perl PHP スクリプト ソース
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● leading-edge
●50ポイント

http://homepage3.nifty.com/hippo2000/perltips/lwpcook.html

lwpcook - libwww-perl ?N?b?N?u?b?N

LWP と Crypt::SSLeay がインストールされていることが前提です。


【https でコンテンツを取り出すソース】

#!/usr/bin/perl

use LWP::UserAgent;

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

# リクエストの生成

my $url = ’https://www.yubitoma.or.jp/index.htm’;

# フォーム送信データのセット

my %formdata = (’loginid’ => ’guest’, ’pw’ => ’guest’);

my $request = POST($url, [%formdata]);

# UserAgentを生成して処理

my $ua = LWP::UserAgent->new;

my $res = $ua->request($request);

print $res->as_string;

PHPは詳しく無いので $ret に何が返るのか分かりませんが、このソースでは $res->as_string で HTTP ヘッダからコンテンツまで、全て見ることができます。

http://homepage3.nifty.com/hippo2000/perltips/Crypt/SSLeay.html

Crypt::SSLeay - LWP https?T?|?[?g??? ◎質問者からの返答

ありがとうございます。試してみます。


2 ● 浅倉卓司
●50ポイント

http://homepage3.nifty.com/hippo2000/perltips/LWP.html

LWP - Perl???WWW?A?N?Z?X????????C?u????

LWPが入っていればこんな感じかな。。。

----

#!/usr/bin/perl

use LWP::UserAgent;

use HTTP::Request::Common;


my $url = ’https://www.example.jp/post.cgi’;

my $ua = LWP::UserAgent->new;

my $res = $ua->request(

POST $url,

Content_Type => ’form-data’,

Content => [

query => ’query’,

],

);

if ($res->is_success) {

my $ret = $res->content;

if ($ret eq ’xxxxx’) {

# ZZZZZZ

}

else {

# YYYYYY

}

}

else {

print ”fail connection¥n”;

}

__END__


ちなみにPHPのサンプルはPOSTじゃなくてGETですけど、POSTなんですよね?

念のため。

◎質問者からの返答

ありがとうございます。そういえばgetの例になってました。postを求めていました。

ホスティングしているサーバにLWPは入っている世なので、このまま使わせていただきたいと思います。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ