Perlから、https(SSL)のコンテンツをProxy経由で取得するメモ

環境

OS
Red Hat Enterprise Linux ES4
Squidバージョン
2.4.STABLE7
perlバージョン
5.8.5
その他モジュール
Crypt-SSLeay-0.53 , openssl-0.9.7a-43.10

ソース

#!/usr/local/bin/perl
use strict;
use warnings;
use LWP::UserAgent;

my $proxy_url = "http://〜proxy〜:〜port〜";
$ENV{HTTPS_PROXY} = $proxy_url;     # Crypt::SSLeay のproxy設定で'https'を使う
                                    # 最後にスラッシュ('/')を入れるとエラー
my $url = "https://〜URL〜";

my $ua = LWP::UserAgent->new();
$ua->proxy('http', $proxy_url);     # LWP::UserAgent のproxy設定は'http'のみ

my $response = $ua->get($url);
print $response->content;

 Squidhttps通信では CONNECTメソッド を使う方法を期待しているので、LWP::UserAgent のproxyの仕組みでは https は×。http のみ使用。Crypt::SSLeay で https の設定を行う。


どちらかで一緒にできればすっきりするのだが、そうはいかないようです。
ちなみに perldoc Crypt::SSLeay には

$ua->proxy([qw( https http )], "$proxy_ip:$proxy_port");

と書かれているけど、私の環境ではエラーになってしまいました。