gpt4 book ai didi

perl - 将 form-urlencoded 解码为哈希

转载 作者:行者123 更新时间:2023-12-02 07:42:27 25 4
gpt4 key购买 nike

我对 LWP 请求的响应是 application/x-www-form-urlencoded 是否可以通过某种对象方法将其文本转换为散列?

最佳答案

# from a HTTP::Response object
my $urlencoded = $response->content;
  1. Vars in CGI返回一个散列。

    use CGI qw();
    CGI->new($urlencoded)->Vars;
  2. parameters in Plack::Request返回 Hash::MultiValue对象,这实际上是合适的数据结构。

    use Plack::Request qw();
    Plack::Request->new({QUERY_STRING => $urlencoded})->parameters;
  3. param in APR::Request/libapreq2 - 不完全是一个 Perl 散列,而是一个带有附加 Magic 的 XS 对象,其行为足够接近。

    insert hand-waving here, no libapreq2 available right now for testing
  4. url_params_mixed in URL::Encode

    require URL::Encode::XS;
    use URL::Encode qw(url_params_mixed);
    url_params_mixed $urlencoded;
  5. parse_query_string in CGI::Deurl::XS

    use CGI::Deurl::XS 'parse_query_string';
    parse_query_string $urlencoded;
  6. query_form in URI在紧要关头也能很好地发挥作用; query_form_hash in URI::QueryParam也是如此.

    use URI qw();
    URI->new("?$urlencoded")->query_form;

    use URI::QueryParam qw();
    URI->new("?$urlencoded")->query_form_hash;
  7. 奖金:另见 HTTP::Body::UrlEncoded , 由 Catalyst 使用.

关于perl - 将 form-urlencoded 解码为哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9690740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com