in reply to GET, POST, and openssl 1.0.1

Assuming here that you're using LWP::UserAgent - you don't explicitly say.

LWP::UserAgent uses IO::Socket::SSL under the hood. The IO::Socket::SSL constructor takes a SSL_version option. You can set this to the string 'SSLv3' to force the use of SSL version 3.

The trick to get LWP::UserAgent to pass this option to IO::Socket::SSL is the ssl_opts option...

my $ua = LWP::UserAgent( agent => q{Foo::Bar/1.03 }, ssl_opts => {SSL_version => 'SSLv3'}, ); my $response = $ua->get('https://www.example.com/');

UPDATE: you probably want to edit your /usr/bin/lwp-request to include the ssl_opts option.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^2: GET, POST, and openssl 1.0.1
by Anonymous Monk on Jun 23, 2012 at 06:47 UTC
    I was under the impression IO::Socket::SSL would negotiate with the server on a SSL version
      Usually, yes. But it's occasionally necessary to force a specific version to workaround broken servers.
      perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'