这个问题与在 Perl 中发出 HTTP GET 请求的最简单方法是什么有关?.
在通过LWP::Simple
我发出请求之前,我有一个查询字符串组件的哈希值,我需要对其进行序列化/转义。编码查询字符串的最佳方法是什么?它应该考虑空格和所有需要在有效 URI 中转义的字符。我想它可能在一个现有的包中,但我不知道如何去寻找它。
use LWP::Simple;
my $base_uri = 'http://example.com/rest_api/';
my %query_hash = (spam => 'eggs', foo => 'bar baz');
my $query_string = urlencode(query_hash); # Part in question.
my $query_uri = "$base_uri?$query_string";
# http://example.com/rest_api/?spam=eggs&foo=bar+baz
$contents = get($query_uri);