Как я могу отправить куки с помощью Perl's LWP :: Simple? - PullRequest
4 голосов
/ 08 октября 2010
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?или я должен настроить свой собственный метод?

Мой главный интерес - это Cookies!тогда отправь!

Ответы [ 2 ]

4 голосов
/ 08 октября 2010

LWP :: Simple для очень простых запросов HTTP GET. Если вам нужно сделать что-то более сложное (например, куки-файлы), вам нужно перейти на полную версию LWP :: UserAgent . cookie_jar является HTTP :: 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.

2 голосов
/ 08 октября 2010

Возможно, вы захотите использовать WWW :: Mechanize . Он уже склеивает большую часть того, что вам нужно:

 use WWW::Mechanize;

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

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

 $mech->get( ... );

 my @links = $mech->links;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...