Perl version is = v5.12.4Perl UserAgent ne se connecte pas au serveur TLS1.2
LWP::UserAgent->VERSION = 6.03
#....
# Setup HTTP request
my $req = HTTP::Request->new();
$req->method($cmd);
$req->uri($uri);
$req->header('content-type' => 'application/json');
$req->header('Accept' => 'application/json');
# Setup the call
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0,
SSL_version => 'tlsv12' });
$ua->timeout(60);
# Do the call
my $resp = $ua->request($req);
# ....
Le code http est toujours 500
et je reçois le message d'erreur -
"Can't connect to 10.0.0.1:443".
J'ai essayé différentes cordes de ssl_versions tlsv12, tslv1. 2, TSLv1, TLSv12, TLS, etc. en vain. Je sais que le serveur attend TLS 1.2. Le même appel HTTP via curl fonctionne bien.
La sortie de débogage supplémentaires ..
Perl -MIO::Socket::SSL=debug4 powervc_cli.pl -O
DEBUG: .../IO/Socket/SSL.pm:193: set domain to 2
DEBUG: .../IO/Socket/SSL.pm:1545: new ctx 140528264056208
DEBUG: .../IO/Socket/SSL.pm:334: socket not yet connected
DEBUG: .../IO/Socket/SSL.pm:336: socket connected
DEBUG: .../IO/Socket/SSL.pm:349: ssl handshake not started
DEBUG: .../IO/Socket/SSL.pm:379: set socket to non-blocking to enforce timeout=60
DEBUG: .../IO/Socket/SSL.pm:392: Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:402: ssl handshake in progress
DEBUG: .../IO/Socket/SSL.pm:412: waiting for fd to become ready: SSL wants a read first
DEBUG: .../IO/Socket/SSL.pm:432: socket ready, retrying connect
DEBUG: .../IO/Socket/SSL.pm:392: Net::SSLeay::connect -> 0
DEBUG: .../IO/Socket/SSL.pm:440: connection failed - connect returned 0
DEBUG: .../IO/Socket/SSL.pm:1276: SSL connect attempt failed because of handshake problemserror:00000000:lib(0):func(0):reason(0)
DEBUG: .../IO/Socket/SSL.pm:1276: IO::Socket::INET6 configuration failederror:00000000:lib(0):func(0):reason(0)
DEBUG: .../IO/Socket/SSL.pm:1582: free ctx 140528264056208 open=140528264056208
DEBUG: .../IO/Socket/SSL.pm:1590: OK free ctx 140528264056208
S'il vous plaît aider! -Eddie
500 est un code côté serveur. avez-vous regardé ce qui est dans le journal des erreurs du serveur Web? –
@MarcB: LWP génère par lui-même 500 codes sur les erreurs pour placer l'erreur dans une réponse HTTP valide. –
hum .... Les messages LWP sont généralement plus longs. – ikegami