我有问题。我昨天问过这个问题,但不是我真正希望它完成的方式,所以我道歉。我想要做的是发布到页面电子邮件和密码,但该页面还需要发送特定标头。 (我相信它们被称为请求标头)。我尝试过LWP :: UserAgent,但我只能发布数据,而不是标题。我该怎么做?我是Perl的新手。谢谢你的帮助。
答案 0 :(得分: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);
答案 1 :(得分:-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