WWW :: Mechanize-> получить ошибку выдачи (HTTPS не поддерживается) - PullRequest
3 голосов
/ 18 мая 2011

Я пытаюсь использовать WWW :: Mechanize для входа в Yahoo.Однако, когда я пытаюсь получить страницу входа, она выдает ошибку

Error GETing https://login.yahoo.com/config/login_verify2?&.src=ym: Protocol scheme 'https' is not supported (LWP::Protocol::https not installed)

Я установил Crypt :: SSLeay, которая, как я думал, должна была обрабатывать HTTPS-запросы.Почему это выдает эту ошибку?

Я даже говорю «использовать Crypt :: SSLeay» в начале скрипта, и он не выдает ошибку, касающуюся того, что он не установлен.

Будет идти в Я!сначала страница (http), а затем «щелкнув» «Справка по ссылке» (https)?

Буду признателен за любую помощь или совет.

РЕДАКТИРОВАТЬ: Я пытался установить LWP :: Protocol: https, но это не удалось.

ИЗМЕНИТЬ СНОВА: установка Crypt :: SSLeay с тестами приводит к той же ошибке.-_-

РЕДАКТИРОВАТЬ 3-е ВРЕМЯ: Спасибо за помощь, ребята.Извините за задержку с ответом.Это Redhat 9, и вся установка облажалась довольно плохо.

Моей первоначальной целью было просто установить WWW :: Mechanize, чтобы иметь возможность войти в Yahoo.Системный администратор (наш учитель) установил perl 5.8.7, что привело к сбою isntallation - из-за неспособности LWP :: UserAgent обновить себя в версиях под 5.8.8.

Затем я установил Perl 5.10.1 в моем домашнем каталоге, используя App :: perlbrew, и я успешно установил мех.Однако это создало много проблем совместимости с использованием более старых модулей, которые я установил (используя 5.8.7).Теперь я не уверен, как удалить все, и у меня осталось только 15 мегабайт дискового пространства.

OpenSSL уже был в системе, но сегодня утром я установил другой OpenSSL в свой домашний каталог, загрузив tarballиз зеркала и компилируя его.Судя по всему, это была самая новая версия.

Одна вещь убивает меня.У меня нет прав root, чтобы что-то делать.Этот проект должен состояться в пятницу, поэтому я думаю, что откажусь от этого и сделаю что-то, что вообще не связано с HTTPS.

Я прочитал, что мне нужно просто сделать yum установку openssl-devel, но я не могу сделать это без прав root.Если кто-нибудь знает, как это сделать, пожалуйста, дайте мне знать.

Я попробую ваш совет сделать принудительную установку Net :: SSLeay и сообщу вам позже.

Теперь я попыталсяустановить мех в какой-то другой каталог (в отличие от 5.8.7), и он не удался ... тьфу ...

4-е редактирование: я принудительно установил Net :: SSLeay.Вот журнал: он не работает.Вы правы насчет библиотек SSL.

5-е ИЗДАНИЕ: YAAAAAAAAAAAAAAAAAYYY!Учитель установил openssl-devel, и теперь он работает !!!!!!!!

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

WWW :: Mechanize использует LWP :: UserAgent под капотом (в качестве базового класса) для получения URL-адресов. Из документации я вижу, что вам нужно установить LWP :: Protocol :: https для поддержки https urls.

2 голосов
/ 18 мая 2011

Детали установки зависят от вашей платформы. Вам в основном нужно:

1) Библиотека OpenSSL 2) Модуль связывания Net :: SSLeay Perl

...