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,它也应该有效吗?
其他参数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)