Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Perl
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2020, 14:25   #1
hell0
Новичок
Джуниор
 
Регистрация: 12.02.2020
Сообщений: 1
Вопрос Perl tls 1.2 для telegram и bitrix24

Есть у меня скрипт sendmail.pl отправляющий данные с сайта в базу данных, телеграм и битрикс24.
Все работало прекрасно то отключения позавчера телеграм поддержки старых протоколов шифрования (использовался sha1). Сайт находится на шаред хостинге.

Соответсвенно у меня вопросы, т.к. только изучаю язык.

Как правильно указать путь до библиотек. Какую библиотеку удобнее и надежнее использовать для tls 1.2 и как поправить рабочий скрипт?

Путь в скрипте указывается так? use lib '/home/t/usernahostinge/perl5/lib/perl5'

Сам скрипт сейчас

Начало
package sendmail;
use strict;
use Encode;
use JSON;
use LWP::UserAgent;
use MIME::Lite;
use Digest::SHA qw(sha512_hex);


Кусок с telegram и битрикс

# отправляем в битрикс
$msg =~ s#<[^>]+?>#\n#g;
if ($conf::CRM_HOST && $conf::CRM_LOGIN && $conf::CRM_PASSWORD && $conf::CRM_TITLE) {
my $response = $ua->post($conf::CRM_HOST, [
"LOGIN" => $conf::CRM_LOGIN,
"PASSWORD" => $conf::CRM_PASSWORD,
"TITLE" => $conf::CRM_TITLE,
'NAME' => $fio,
'EMAIL_HOME' => $email,
'PHONE_HOME' => $tel,
'COMMENTS' => $title - $text,
'SOURCE_DESCRIPTION' => $msg,
'SOURCE_ID' => "WEB",
] );
return($response->status_line) if !$response->is_success;
}



# отправляем в телеграм

&send_mes_telegram(qq|
Сообщение от $fio
Телефон: $tel
Email: $email
Страница: $title
Текст:
$text

ip: $ip
|) if defined $conf::telegram_token && defined $conf::telegram_chats;

# отправили в телеграм ################################### ###


}




sub send_mes_telegram {
my $msg = shift();
my $json = JSON->new();
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 });
my $res = $ua->get("https://api.telegram.org");
# specify a CA path
$ua = LWP::UserAgent->new(
ssl_opts => {
SSL_ca_path => '/etc/ssl/certs',
verify_hostname => 1,
}
);
$ua->agent('Mozilla/5.0');
foreach (@$conf::telegram_chats) {
my $response = $ua->post(
sprintf ("https://api.telegram.org/bot%s/%s", $conf::telegram_token, 'sendMessage'),
Content => $json->encode({
'chat_id' => $_,
'text' => $msg,
}),
Content_Type => "application/json"
);
die $response->status_line unless $response->is_success;
my $content = $json->decode($response->decoded_content);
die ($response->{description} || $response->{error_code}) unless exists $content->{'ok'};
}
}


Очень буду признателен за помощь
hell0 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Python vs Perl, Я выбрал Perl! Причина: а черт ее знает но наверное дело в философии и синтаксисе(TMTOWTDI ) Sna1L Perl 0 13.12.2011 14:10
нужен скрипт на PERL для обработки текстовой информации (1251 кириллица, десетки тысяч строк) PERL newbies Perl 7 03.08.2009 22:25