我是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;
还是我完全错了,这种方法用于不同的用例?
答案 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::Mojo和get command如何查询本地Mojolicious应用程序的方式,但这没有任何作用。请求远程服务器。