我有个问题。我昨天问了这个问题,但不是我真正想要的方式,所以我很抱歉。我想要做的是发布到页面电子邮件和密码,但该页面还需要发送特定的标题。(我相信它们被称为请求标头)。我尝试了 LWP::UserAgent 但我只能发布数据,而不是带有它的标题。我该怎么做?我是 Perl 的新手。谢谢你的帮助。
问问题
946 次
2 回答
1
您之前提到了用户代理和 cookie。虽然您可以将这些添加到请求中,但这通常是您想要的多个请求,因此可以在 UA 本身中设置。
use HTTP::Cookies qw( );
use HTTP::Request::Common qw( POST );
use LWP::UserAgent qw( );
my $cookies = HTTP::Cookies->new();
$cookies->set_cookie(...);
my $ua = LWP::UserAgent->new(
agent => ...,
cookie_jar => $cookies,
);
my $request = POST(
'http://www.example.com/',
Referer => '...',
Content => [
username => ...,
...
],
);
my $response = $ua->request($request);
于 2013-01-23T04:08:34.267 回答
-1
use strict;
use warnings;
use LWP::UserAgent qw( );
my $ua = LWP::UserAgent->new();
$ua->default_header('Cookie' => '...');
$ua->default_header('Referer' => '...');
my $response = $ua->post('url_goes_here', {username=>'test', password=>'pass'});
if($response->is_success)
{
print $response->as_string;
}
这对我有用。希望有人可以从这个答案中学到一两件事。诀窍是使用default_header
于 2013-01-23T17:18:29.030 回答