トップ

2007年12月26日

PerlでLWPでMultipleな送信  このエントリをはてなブックマークに登録 

なんか、毎回どうするんだっけと調べているような気がするので覚書。

HTTP::Request::Commonの最近のやつには

Multivalued form fields can be specified by either repeating the field
name or by passing the value as an array reference.

と書いてあるけれど、日本語訳のドキュメントは古いバージョンのやつだからか、この部分が存在しない。
以前は簡単には行えなかったのかな?

use HTTP::Request::Common;
my $ua = LWP::UserAgent->new;
my $req = POST "http://www.example.com/",
[ foo => 'bar',
bar => 'foo',
hoge => [ qw( aaa bbb ccc ) ]
];
my $res = $ua->request($req);

みたいな感じ。

これで、POSTの内容は、

foo=bar&bar=foo&hoge=aaa&hoge=bbb&hoge=ccc

になる。
WWW::Mechanize とか使ったほうがいいんでしょうけどね。

投稿者 田中@グリニッジ : 21:34 | コメント (0) | トラックバック

楽天トラベル 夏の旅行