Я использую WWW::Mechanize
для загрузки каталога нашего поставщика продуктов в нашу базу данных. Я запускаю этот скрипт каждые 2 часа каждый день, и он заканчивается за 12 минут, используя около 50 одновременных потоков.Пожалуйста, помогите мне отладить проблему SSL с помощью WWW :: Mechanize (или LWP :: UserAgent)
Все работало отлично, до этих выходных. Они помещают свой веб-сайт в автономном режиме для запланированного обслуживания, и, как только они снова будут в Интернете, мой скрипт больше не работает. После анализа вещей, сводится к следующему коду неисправный:
use strict;
use warnings;
use WWW::Mechanize;
my $mec = WWW::Mechanize->new;
$mec->get('https://www.imstores.com/Ingrammicromx/login/login.aspx');
print $mec->content;
Код умирает (примерно через 60 секунд) со следующим сообщением:
Error GETing https://www.imstores.com/Ingrammicromx/login/login.aspx:
Can't connect to www.imstores.com:443 at test.pl line 7.
Теперь, это точка, которые делают мне трудно найти проблему:
Это не связанных с сетью - если я перейду на тот же URL любой из моих браузеров, я получаю страницу.
Если я попробую использовать тот же код на удаленной машине, которая содержит точную копию моей установки Perl, она работает.
Если я
use Net::SSL
доWWW::Mechanize
, это занимает очень много времени, но, наконец, получает страницу.Если я пытаюсь использовать любую другую страницу SSL, например 'https://www.paypal.com', она работает и очень быстро.
С другой стороны, это работало до запланированного технического обслуживания.
Я не уверен, что еще попробовать. Если я переключусь на версию, отличную от SSL, она работает, но я не хочу этого делать, поскольку мы автоматизируем операции покупки.
Наряду со многими вещами, которые пересекли мой ум, думая о том, почему он работает на удаленной машине, и почему я могу открыть страницу в моих браузерах в локальном одном:
Можно ли блокировано с моим Открытый ключ SSL? Это возможно? Если да, то какой открытый ключ используется LWP/Mechanize для сеансов SSL и как я могу использовать другой?
Некоторые данные о моей текущей настройки:
- ОС: Windows 7 Ultimate x64
- Perl версия: 5.16.3 x64
LWP::UserAgent
версия: 6.05WWW::Mechanize
версия: 1.72IO::Socket
версия: 1.34IO::Socket::SSL
версия: 1.85Net::SSL
версия: 2,85Crypt::SSLeay
версия: 0.64
Заранее спасибо за любой полезный комментарий.
Нет открытого ключа для SSL; Я думаю, вы сбиваете с толку SSH. У вас такая же проблема, если вы используете SSL-соединение непосредственно из командной строки ('openssl s_client -connect www.imstores.com: 443')? Это может дать вам некоторую информацию. –
Вы уверены, что не заблокировали веб-сервер? – AnFi
(1) может быть неверным. Ваш браузер может использовать прокси. – ikegami