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


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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/08/23 19:11:17
  • 終了:--

回答(2件)

id:leading-edge No.1

leading-edge回答回数8ベストアンサー獲得回数02005/08/24 01:29:08

ポイント50pt

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���

id:iiiiiiiii

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

2005/08/24 18:21:39
id:asakura-t No.2

浅倉卓司回答回数151ベストアンサー獲得回数22005/08/24 18:11:17

ポイント50pt

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なんですよね?

 念のため。

id:iiiiiiiii

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

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

2005/08/24 18:23:30

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません