dorko has asked for the wisdom of the Perl Monks concerning the following question:


In my (self-declared virtuous) laziness, I'm trying to write a script to POST an XML file to a server. The alternative is to do this by by hand, about 10,000 times - it's part of a migration process.

I've done things like this before; it's not hard. But it's also not working.

I think I'm seeing a problem with LWP handling SSL. If I send the POST to HTTPS, it fails. If I send the post to HTTP is succeeds. (Well, the server doesn't accept HTTP connections, but it connects and the server responds with a 302 redirect to the HTTPS address.)

I've Googled around and others have suggested upgrading OpenSSL. I'm already using the latest OpenSSL 1.01c.

Long delay with Crypt::SSLeay and LWP suggested setting $ENV{HTTPS_VERSION} = 3;, but that didn't work either.

I'd also like to mention in the same script, using WWW::Mechanize, I'm POSTing to an HTTP site and downloading a file and that works fine.

This is the error from LWP:

500 Can't connect to Content-Type: text/plain Client-Date: Wed, 12 Sep 2012 14:38:58 GMT Client-Warning: Internal response Can't connect to LWP::Protocol::https::Socket: SSL connect attempt failed with unknown +errorerror:00000000:lib(0):func(0):reason(0) at C:/web/perl/site/lib/ +LWP/Protocol/ line 51.
I'm running WinXP, ActiveState Perl 5.14.2, OpenSSL 1.01c, and LWP 6.04.

Thoughts? Questions? Comments? Any help will be greatly appreciated.



-- Yup, I'm a Delt.