如何使用Perl的LWP :: Simple发送cookie?

时间:2010-10-08 02:27:47

标签: perl http cookies

use LWP::Simple;
use HTML::LinkExtor;
use Data::Dumper;
#my $url = shift @ARGV;
my $content = get('example.com?GET=whateverIwant');
my $parser = HTML::LinkExtor->new(); #create LinkExtor object with no callbacks
$parser->parse($content); #parse content

现在,如果我想发送POST和COOKIE信息以及HTTP标头,我如何使用get funciton配置它?或者我必须自定义我自己的方法吗?

我的主要兴趣是Cookies!发帖!

2 个答案:

答案 0 :(得分:4)

LWP::Simple用于非常简单的HTTP GET请求。如果您需要执行更复杂的操作(例如cookie),则必须升级到完整的LWP::UserAgentcookie_jarHTTP::Cookies对象,您可以使用其set_cookie方法添加Cookie。

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(cookie_jar => {}); # create an empty cookie jar

$ua->cookie_jar->set_cookie(...);

my $rsp = $ua->get('example.com?GET=whateverIwant');
die $rsp->status_line unless $rsp->is_success;
my $content = $rsp->decoded_content;
...

LWP :: UserAgent也有post方法。

答案 1 :(得分:2)

您可能希望改用WWW::Mechanize。它已经粘合了你想要的大部分东西:

 use WWW::Mechanize;

 my $mech = WWW::Mechanize->new(
    cookie_jar => { ... }
    );

 $mech->cookie_jar->set_cookie(...);

 $mech->get( ... );

 my @links = $mech->links;