LWPリクエストに対する応答はapplication/x-www-form-urlencoded
、オブジェクトメソッドを介してこのテキストをハッシュに変換することは可能ですか?
1750 次
1 に答える
8
# from a HTTP::Response object
my $urlencoded = $response->content;
Vars
inCGI
はハッシュを返します。use CGI qw(); CGI->new($urlencoded)->Vars;
parameters
inPlack::Request
はオブジェクトを返しHash::MultiValue
ます。これは、実際にはこれに適したデータ構造です。use Plack::Request qw(); Plack::Request->new({QUERY_STRING => $urlencoded})->parameters;
param
inAPR::Request
/libapreq2
-Perlハッシュではありませんが、動作が十分に近いMagicがアタッチされたXSオブジェクトです。insert hand-waving here, no libapreq2 available right now for testing
-
require URL::Encode::XS; use URL::Encode qw(url_params_mixed); url_params_mixed $urlencoded;
parse_query_string
のCGI::Deurl::XS
use CGI::Deurl::XS 'parse_query_string'; parse_query_string $urlencoded;
query_form
inURI
もピンチでうまく機能します。でそうしquery_form_hash
ますURI::QueryParam
。use URI qw(); URI->new("?$urlencoded")->query_form; use URI::QueryParam qw(); URI->new("?$urlencoded")->query_form_hash;
ボーナス:Catalyst
HTTP::Body::UrlEncoded
で使用されている「」も参照してください。
于 2012-03-13T19:44:23.063 に答える