Как явно установить cookie с помощью LWP - PullRequest
1 голос
/ 07 мая 2019

Я хочу установить некоторые куки для использования в HTTP::Request позже.Это мой код (самая короткая форма, в которой уже есть проблема):

#!/usr/bin/perl -w

use strict;
use LWP::UserAgent;
use HTTP::Cookies;
use Data::Dumper; # DEBUG

my $ua = LWP::UserAgent->new;
$ua->agent("test.pl/0.1");
$ua->cookie_jar({ });
$ua->cookie_jar->set_cookie(0, "mykey", "myvalue", "/", "localhost", 80, 0, 0, 365 * 86400, 0);
print "Cookie jar: ", $ua->cookie_jar->as_string, "\n";
#print Dumper($ua->cookie_jar);
print "Cookies for URL: ", Dumper($ua->cookie_jar->get_cookies("http://localhost/"));

Вывод:

Cookie jar: Set-Cookie3: mykey=myvalue; path="/"; domain=localhost; port=80; expires="2020-05-05 23:40:21Z"; version=0

Cookies for URL: $VAR1 = {};

Кажется, что файл cookie был правильно добавлен в банку cookie.Однако при запросе файлов cookie, которые применяются к домену, на который я собираюсь отправить запрос, он не возвращает ничего вместо ожидаемого файла cookie.И действительно, в моей полной программе, когда я пытаюсь это сделать, запрос отправляется, а куки - нет.

Что мне не хватает?

В конце концов, я хочудля отправки HTTPS-запроса, а не HTTP, поэтому, пожалуйста, также сообщите мне, как правильно установить cookie для этого.

1 Ответ

1 голос
/ 07 мая 2019

Если вы замените «localhost» на «example.com», вы получите искомый результат. Доменные имена должны содержать хотя бы одну точку.

...