Започнах да използвам библиотеката Mojolicious за тестване и всичко работеше добре, докато не се опитах да извлека бисквитки от отговор.
Пробвах няколко варианта на:
$ua = Mojo::UserAgent->new();
$ua->on( error => sub { my ($ua, $error) = @_; say "This looks bad: $error"; } );
$ua->max_redirects(1)->connect_timeout(10)->request_timeout(20);
$ua->cookie_jar(Mojo::CookieJar->new);
# ... later ...
my $tx = $ua->get($url);
my $jar = $ua->cookie_jar->extract($tx); # This is undef
Мога обаче да извлека бисквитките чрез LWP::UserAgent. LWP обаче има няколко различни проблема, които правят тази опция неработеща за момента. Само за сравнение тук е LWP кодът, който извлича бисквитките.
my $lwp = LWP::UserAgent->new(cookie_jar => {}, timeout => 20, max_redirect => 1);
push @{ $lwp->requests_redirectable }, 'POST';
my $response = $lwp->get($url);
die $response->status_line unless $response->is_success;
$lwp->cookie_jar->scan(\&ScanCookies);
sub ScanCookies {
my ($version, $key, $value) = @_;
say "$key = $value";
}
Така че знам, че $url и т.н. са правилни.
Редактиране: Трябва да спомена, че използвам ягода 5.14
Edit2: Трябва също да спомена, че бисквитките влизат в потребителския агент със сигурност, тъй като идентификаторът на сесията се обработва правилно. За съжаление имам нужда от достъп до друга бисквитка (за тестване на сайта) и просто не мога да получа правилното заклинание за достъп до тях... казвайки, че смятам, че това е проблем на програмиста и нищо повече .