perl – 如何在LWP中启用IPv6支持?

前端之家收集整理的这篇文章主要介绍了perl – 如何在LWP中启用IPv6支持?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下代码
  1. my $user_agent = LWP::UserAgent->new;
  2. my $request = HTTP::Request->new(GET => $url);
  3. my $response = $user_agent->request($request);
  4. if ($response->is_success) {
  5. print "OK\n";
  6. } else {
  7. die($response->status_line);
  8. }

..会失败..

  1. 500 Can't connect to <hostname> (Bad hostname '<hostname>')

..如果$url中的主机名是仅IPv6地址(即:存在AAAA记录,但没有A记录).

我的问题是:

>如何在LWP中启用IPv6支持
>如何配置LWP的“prefer-IPv4-over-IPv6”(A vs. AAAA)/“prefer-IPv6 over over IPv4”(AAAA vs.A)的设置?

解决方法

看起来你只需要使用 Net::INET6Glue::INET_is_INET6.引用它的例子:
  1. use Net::INET6Glue::INET_is_INET6;
  2. use LWP::Simple;
  3. print get( 'http://[::1]:80' );
  4. print get( 'http://ipv6.google.com' );

猜你在找的Perl相关文章