Мучаюсь вторую неделю. Я очень слабо знаю перл поэтому прошу помощи.
Условия задачи:
На удаленном хосте за SSL находится форма для ввода 1 строки и кнопкой подтверждения. я хочу создать скрипт который будет перебирать строки для ввода и подставлять их поочереди в форму.
Проблема: Никак не могу справиться с SSL.
Вот что у меня получилось (точнее нашлось в инете)
#!/usr/bin/perl
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent(«Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)»);
$url = «https://some_host.ru/cgi-bin/dir/script.pl»;
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
if ($res->is_success)
{
print «Content-Type: text/html\n\n»;
print $res->as_string;
}
else
{
print «Content-Type: text/html\n\n»;
print «Error: » . $res->status_line . «\n»;
}
Эта фигня не работает! Выдает:
Error: 501 Protocol scheme 'https' is not supported
Нашел инфу по этой бодяге:
http://www.linpro.no/lwp/libwww-perl/README.SSL
Английский знаю плохо.
C переборкой данных и обработкой вывода справлюсь сам.
Помогите с SSL.
Замаялся конкретно. Если будет время подумать и помочь буду очень
благодарен.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Да совсем забыл «мучаюсь» я под Виндой и с Денвером(http://www.denwer.ru)
Так что если это ограничения сервака то как их можно обойти?(кроме смены платформы)
Да блин.. мертвый форум..
Пока ждал переделал на ПХП с CURL
Вот
<?php
$ch = curl_init («https://some_host/cgi-bin/dir/script.pl»);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 1);
$ng=curl_exec ($ch);
if ($ng){
echo $ng;
}
else {
echo curl_error($ch);
}
curl_close ($ch);
?>
Теперь новая ошибка (я так понимаю не проходит проверка ССЛ-сертификата)
SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Вопрос можно ли отказаться от проверки сертификата и принять его в любом виде?
ясно же LWP ругается: протокол https не поддерживается.
эхххэ.. ну, http://translate.ru/ давно отменили?
да уж.. и не говори.. никто ничего не пишет..
ну да. правильно понимаешь. только сам-то от CURL что просишь?
я, конечно, не разбирался, но есть смутное подозрение, что этим ты проверку и запрашиваешь.
> эхххэ.. ну, http://translate.ru/ давно отменили?
Ходил… переводил… не проникся
Еще как только нашел перевел понял что LWP не поддерживает SSL но не понял как это вылечить.
> curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 1);
> я, конечно, не разбирался, но есть смутное подозрение, что этим ты проверку и > запрашиваешь.
Я пробовал разные значения (0,1,2) ничего не помогает.Ответ один.
Если кто то знает как справиться с LWP или cURL Помогите пожалстя.
> > эхххэ.. ну, http://translate.ru/ давно отменили?
> Ходил… переводил… не проникся
Попробуй учебники Бонка и Мэрфи (который Рэймонд). Может проникнешся…
> > > curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 1);
> > я, конечно, не разбирался, но есть смутное подозрение,
> > что этим ты проверку и запрашиваешь.
> Я пробовал разные значения (0,1,2) ничего не помогает. Ответ один.
Мдяааа… а при чём тут 1,2,3? Ясно же что Genie говорил про CURLOPT_SSL_VERIFYHOST. Ты не эстонец случайно? :))
Я не сомневаюсь в своей национальности но формат следующий:
curl_setopt ([идентификатор сессии ], [опция], [значение опции] о);
Следовательно я устанавливал переменную
CURLOPT_SSL_VERIFYHOST в значения 0,1,2. которые у нее предусмотрены
Цитирую мануал
я так понимаю что сертификат на серваке на кот. я конекчусь неправильный. Проблема в том как отключить проверку валидности сертификата.
P.S.(извиняюсь за офтоп, myst вынудил) Не надо неразобравшись называть людей эстонцами. Не надо думать что ты самый умный. Следи за собой и будь осторожен.
Я оччень осторожен, более того — я параноик. :))
Несмотря на прикольную игруху РБТ помогли мне по другому адресу
http://forum.dklab.ru/denwer/packages/Perl+sslPomogiteSSsl.html
Для тех кому лень лазать перепишу: