1

我是 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;

或者我完全错了,这种方法用于不同的用例?

4

1 回答 1

1

HTTP 连接是 TCP 连接,它是从本地地址到远程地址的连接。通常本地地址将是您的环回,通常最好不要指定它,以便选择正确的地址。这个 local_address 属性通过https://metacpan.org/pod/Mojo::IOLoop::Client#connect1传递到https://metacpan.org/pod/IO::Socket::IP#LocalHost-=% 3E-字符串

所以不,它不会影响您请求的 URL(顺便说一下,它必须使用正斜杠作为路径分隔符并指定协议,就像任何绝对 HTTP URL 一样)。省略主机名和协议的相对 URL 将向服务器属性发送请求,这是Test::Mojoget 命令可以查询本地 Mojolicious 应用程序的方式,但这与请求远程服务器没有任何关系。

于 2019-06-29T04:51:27.473 回答