1
our $ua = LWP::UserAgent->new;
my $response = $ua->get($url);
if($response->is_success) {
my $perl_hash_or_arrayref = decode_json(encode("UTF-8", $response->decoded_content));
上記のコードは、応答が使用しているエンコーディングを伝える必要なしに、応答をUTF-8エンコーディングに変換します。LWP :: UserAgentは自動的に文字セットを検出できますか?
これは、特定のケースで失敗する可能性があります。
応答コードをLWP::UserAgent
に明示的に伝えることはできますか?
'メッセージのコンテンツのエンコーディングや文字セットがこの 不明な場合メソッドはundefを返すことによって失敗します.'しかし、実際には、私は内部を知らないだけです。 –
@new_perl:LWPは、あなたが話しているHTTPサーバによって送信された 'Content-Encoding'と' Charset' HTTPヘッダを調べます。 – friedo