【问题标题】:perl support IPv6 address format [::1] in HTTP::Requestperl 在 HTTP::Request 中支持 IPv6 地址格式 [::1]
【发布时间】:2012-06-19 07:37:44
【问题描述】:

Debian Wheezy (perl 5.14)

工作得很好:

use LWP::Simple;
print get( 'http://ip6-localhost:80' );

不工作 (1)

use LWP::Simple;
print get( 'http://[::1]:80' );

不工作 (2) [返回:错误的主机名]

use LWP::Simple;
$ua = new LWP::UserAgent();
my $req = new HTTP::Request("GET", "http://[::1]/");
my $res = $ua->request($req);

不工作 (3) [返回:连接被拒绝]

use Net::INET6Glue::INET_is_INET6;
use LWP::Simple;
$ua = new LWP::UserAgent();
my $req = new HTTP::Request("GET", "http://[::1]/");
my $res = $ua->request($req);

为什么我需要它?因为 ldirectord 需要它。 :( 有什么建议吗?

【问题讨论】:

  • 这看起来更像是一个错误报告或功能请求。您是否尝试过使用有问题的 CPAN 发行版来提高它?
  • 我不尝试在 CPAN 上报告,因为我对哪里(库/模块/libc/..)问题的理解很低。 :( 但是,我会试试的。稍等片刻。第一步:安装最新版本(5.16)。
  • 使用了 perlbug 并且错误报告为高优先级
  • 使用相关模块的 CPAN 页面上的“Bugs”链接。例如,search.cpan.org/~gaas/libwww-perl-6.04 指向rt.cpan.org/Dist/Display.html?Name=libwww-perl,您会在其中发现许多现有的与 IPv6 相关的错误。

标签: perl http ipv6


【解决方案1】:

另一个帖子建议使用INET6Glue

use Net::INET6Glue::INET_is_INET6;
use LWP::Simple;
print get( 'http://[::1]:80' );
print get( 'http://ipv6.google.com' );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-10
    • 2014-08-25
    • 1970-01-01
    • 2019-04-07
    • 2012-09-11
    • 2011-06-15
    • 2017-11-23
    相关资源
    最近更新 更多