忍者ブログ
やったことの記録 主にlinuxとかperlとか
プロフィール
HN:
隠居SE
性別:
非公開
カテゴリー
P R
ブログ内検索
忍者カウンター
[17] [18] [19] [20] [21] [22]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

perlのLWP通信で、
先月中くらいから、一部のサイトでhttpsの通信が繋がらなくなり、
500 Can't connect to www.google.co.jp:443 (connect: Network is unreachable)
のエラーが出るようになりました。

エラーメッセージでググると、どうやらIPv6が絡んでいるようで、
対応方法なども載っていたので試してみるも、効果なし。
別の原因の可能性を切り分けるために、
一旦最もシンプルなコードで試すと何故か繋がりました。
#!/usr/bin/perl
use strict;
use utf8;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;

my $ua=LWP::UserAgent->new;
my $req=HTTP::Request->new('GET' => 'https://www.google.co.jp/');
my $res=$ua->request($req);
print $res->as_string;
う~ん(--;
とりあえず、いくつかのモジュールをuseしてたので、
サンプルコードに加えながら実行を繰り返すと、
Net::SMTP::SSL (epel)
Net::SMTP::TLS (rpmforge)
の2つのモジュールを組み込むとエラーになることを発見しました。
で、更に絞り込むために、上記モジュールの中で使用されているモジュールも加えてみると、
最終的に、
IO::Socket::SSL
Net::SSLeay
と言う、sl6に入ってる2つのモジュールに行き当たりました。
メンテ漏れかな?

と言うわけで、これら2つのモジュールの最新版を作り、
yum install openssl-devel
cpan2rpm --no-sign IO::Socket::SSL
cpan2rpm --no-sign Net::SSLeay
ローカルリポジトリを経由してyum updateして完了。


#perl #LWP #sl6
PR
Powerd by NINJAブログ / Designed by SUSH
Copyright © 隠居SEの備忘録 All Rights Reserved.
忍者ブログ/[PR]