使用Perl使用标头POST到页面

时间:2013-01-23 03:40:42

标签: perl

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

2 个答案:

答案 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