0

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

4

2 回答 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 回答