Mojo :: UserAgent и метод local_address - PullRequest
1 голос
/ 29 июня 2019

Я новичок в Mojo :: UserAgent (https://metacpan.org/pod/Mojo::UserAgent), я пытаюсь изучить его функции.

Я нашел эту функцию в документах:

local_address
my $address = $ua->local_address;
$ua         = $ua->local_address('127.0.0.1');

Local address to bind to.

каковы случаи использования метода local_address? Разве это не позволяет вам писать ярлыки, подобные этому:

my $res = $ua->get('\index.html')->result;

вместо

my $res = $ua->get('127.0.0.1:80\index.html')->result;

или я совершенно не прав, и этот метод используется в разных случаях?

1 Ответ

1 голос
/ 29 июня 2019

HTTP-соединение - это TCP-соединение, которое представляет собой соединение с локального адреса на удаленный адрес. Обычно локальным адресом будет ваша петля, и обычно лучше не указывать его, чтобы можно было выбрать правильный адрес. Этот атрибут local_address передается через https://metacpan.org/pod/Mojo::IOLoop::Client#connect1, а затем https://metacpan.org/pod/IO::Socket::IP#LocalHost-=%3E-STRING.

Так что нет, это не влияет на URL, который вы запрашиваете (который, кстати, должен использовать прямую косую черту в качестве разделителей пути и указывать протокол, как и любой абсолютный HTTP-URL). Относительный URL-адрес, в котором пропущены имя хоста и протокол, отправит запрос атрибуту server , как Test :: Mojo и команда get могут запросить локальный запрос. Прикольное приложение, но это не имеет ничего общего с запросом удаленных серверов.

...