Perl Mojolicious、Mojo::UserAgent 使用 IPv4

Mic*_*000 1 perl ipv4 mojolicious mojo-useragent

我如何告诉我的 MojoliciousMojo::UserAgent仅使用 IPv4,这可能吗?

(就像是:wget --inet4-only https://blabli.com

我需要这个的原因是,在我使用此代理的 Openshift Cluster 中,IPv6 不起作用。

Raw*_*ler 8

IO::Socket::IP您可以使用添加socket_options到用户代理套接字的模块来强制使用 ipv4 。

use Mojo::UserAgent;
use IO::Socket::IP -register;

# PF_INET  -> ipv4
# PF_INET6 -> ipv6
my $ua = Mojo::UserAgent->new(socket_options => { Domain => PF_INET });

print $ua->get("www.google.com")->result->body; # Uses ipv4
Run Code Online (Sandbox Code Playgroud)

  • 如果您还有其他问题,请提出新问题。 (2认同)