2017-01-25 3 views
-1

Я пытаюсь получить доступ к веб-сайту HTTPS, но это дает мне ошибку. Я пытался с этим сценариев:Perl - Как запросить сайт HTTPS

Сценарий 1:

use strict; 
use warnings; 
use LWP::UserAgent; 

my $B = new LWP::UserAgent (agent => 'Mozilla/5.0', cookie_jar =>{}); 

my $GET = $B->get('https://moz.com')->content; 
print $GET; 

Сценарий 2:

use strict; 
use warnings; 
use LWP::UserAgent; 
use Mozilla::CA; 

my $B = new LWP::UserAgent (agent => 'Mozilla/5.0', cookie_jar =>{}); 
$B->ssl_opts(SSL_ca_file => Mozilla::CA::SSL_ca_file()); 
$B->ssl_opts(verify_hostname => 1); 

my $GET = $B->get('https://moz.com')->content; 
print $GET; 

Я получаю эту ошибку с обоими:

Can't connect to moz.com:443 

LWP::Protocol::https::Socket: SSL connect attempt failed with unknown error error:00000000:lib(0):func(0):reason(0) at C:/Perl/site/lib/LWP/Protocol/http.pm line 47. 

Я использую ActivePerl 5.16.1 Build 1601 на Windows 7 Ultimate.

Любая идея, как получить доступ к сайту HTTPS с помощью Perl?

+1

Плохо установленный модуль? Ваш код работает как прелесть для меня. Так что это связано с вашими собственными настройками. Сначала я попытаюсь переустановить модуль, а затем проверить, разрешено ли запрашивать https с машины, на которой запущен скрипт. –

+0

Какой код? Сценарий 1 или сценарий 2? – tr0in

+0

@DavidVerdin Я заново установил ActivePerl, и теперь скрипт работает нормально. Спасибо за ваш ответ. – tr0in

ответ

0

Плохо установленный модуль?

Ваш код (оба скрипта) работает как очарование для меня. Так что это связано с вашими собственными настройками.

Я бы попытался сначала переустановить модуль, а затем проверить, разрешено ли запрашивать https с компьютера, на котором запущен скрипт.