为LWP :: UserAgent设置问题参数

new*_*erl 1 perl lwp-useragent

my %parameters = (
                        key => 'value'
                 );
my $response = $ua->get('http://example.com/i', %parameters);
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取内容http://example.com/i?key=value,但在调试后我发现%parameters它们存储在http头而不是url参数中.

我的代码有什么问题?

虽然perldoc告诉我:

$ua->get( $url , $field_name => $value, ... )
Run Code Online (Sandbox Code Playgroud)

但是,如果我将这些参数放入a中%parameters,它也应该有效吗?

Woo*_*ble 9

其他参数get是HTTP标头.对于GET请求,参数包含在URL本身URLencoded中.您可以使用URI模块创建包含GET变量的相应URL,或者自己构建它们(可能使用URI :: Escape来对值进行urlencode).

例如:

my %parameters = (
                        key => 'value'
                 );
my $url = URI->new("http://example.com/i");
$url->query_form(%parameters);
my $response = $ua->get($url);
Run Code Online (Sandbox Code Playgroud)