###前提・実現したいこと
perlのLWPを用いて、https通信にてwebサーバーよりデータを取得しています。
ところがここ最近、一部のサイトに対するhttps接続が失敗するようになりました。
ネットを調べると、IPv6に対応したサイトで接続できない問題があることを突き止めましたが、最も簡単なソースで接続してみると接続できているので、この問題は既に解決しているように思います。
そこで、何かのモジュールが悪さをしているのではないかと、使用しているモジュールをひとつひとつ追加しながら確認すると、
Net::SMTP::SSL;
Net::SMTP::TLS;
の2つのモジュールをコメントアウトすると、通信できることを突き止めました。
しかし、これらのモジュールは、gmailを使ってメールを送信する時に認証に利用しているため、
これらのモジュールを利用したまま、httpsの通信が行えるようになるか、gmailに対する認証を、これら以外の方法で実現する方法を探しています。
###発生している問題・エラーメッセージ
500 Can't connect to www.google.co.jp:443 (connect: Network is unreachable)
###該当のソースコード
perl
1#!/usr/bin/perl 2use strict; 3use utf8; 4use LWP::UserAgent; 5use HTTP::Request; 6use HTTP::Cookies; 7use HTTP::Response; 8use Net::SMTP; 9use Net::SMTP::SSL; 10use Net::SMTP::TLS; 11 12my $url='https://www.google.co.jp/'; 13my $ua=LWP::UserAgent->new; 14my $req=HTTP::Request->new('GET' => $url); 15my $res=$ua->request($req); 16print $res->as_string;
###試したこと
上記ソースの
use Net::SMTP::SSL;
use Net::SMTP::TLS;
をコメントアウトすると通信できます。
###補足情報(言語/FW/ツール等のバージョンなど)
Scientific Linux release 6.6 (Carbon)
perl 5.10.1 x86_64-linux-thread-multi
ソースコンパイルで入れたものはありません。
全てyumにて公式またはrpmforge、epelのいずれかから入れています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。