In LWP::Protocol::https10::_new_socket, the call to
$SSL_CLASS->new does not include extra socket options
like LWP::Protocol::http10::_new_socket does. This
means it's not possible to bind the request to a
specific source address (often important on multihomed
machines). It is possible to do this with a vanilla
HTTP/1.0 request using LWP::Protocol::http10 by doing:
@LWP::Protcol::http10::EXTRA_SOCK_OPTS = ('LocalAddr',
$source_ip_address)
If I understand it correctly, the problem can be solved
by adding a single line to https10.pm that introduces
the socket options of it's parent. Diff against
libwww-perl-5.805 from CPAN attached. Apply like so:
1.) Download libww-perl-5.805 from CPAN.
2.) tar -xzvf libwww-perl-5.805.tar.gz
3.) cp https10.patch libwww-perl-5.805/
4.) cd libww-perl-5.805
5.) patch -p0 < https10.patch
Patch for LWP::Protocol::https10.pm