Mojo :: UserAgent和local_address方法

时间:2019-06-28 22:56:24

标签: perl mojo-useragent

我是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 个答案:

答案 0 :(得分:1)

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::Mojoget command如何查询本地Mojolicious应用程序的方式,但这没有任何作用。请求远程服务器。