【问题标题】:Mojo::UserAgent and local_address methodMojo::UserAgent 和 local_address 方法
【发布时间】:2019-06-29 12:51:27
【问题描述】:

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

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

【问题讨论】:

    标签: perl mojo-useragent


    【解决方案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 应用程序的方式,但这与请求远程服务器没有任何关系。

    【讨论】:

      猜你喜欢
      • 2021-02-09
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 2013-03-03
      • 2016-05-13
      • 1970-01-01
      相关资源
      最近更新 更多