I am trying to get the contents of a website and print. The code worked how I wanted it to work with a regular HTTP website, but it will not work with HTTPS.
I have looked up fixes for this issue, but they are not working in my program. This is the code I currently have:
#! usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use LWP::UserAgent;
use 5.014;
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
my $ua = LWP::UserAgent->new();
$ua->ssl_opts( verify_hostnames => 0 );
getprint('https://<website>')or die 'Unable to get page';
And this is the error I am getting:
500 Can't connect to <IP address>:443 (certificate verify failed) <URL:https://<website>>
The reason
$ua->ssl_opts( verify_hostnames => 0 );
fails is probably because you misspelledverify_hostname
.I don't know why
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
failed, but it might because the environment var has to be set before the SSL library is loaded.Perhaps the following will be helpful:
See LWP::Protocol::https and LWP::UserAgent.