nixp.ru v3.0

18 октября 2017,
среда,
01:28:52 MSK

DevOps с компанией «Флант»
Аватар пользователя Curu3MyHg
Curu3MyHg написал 2 июня 2006 года в 16:14 (1261 просмотр) Ведет себя как мужчина; открыл 41 тему в форуме, оставил 896 комментариев на сайте.

Народ, очень хочется прикрутить к машине отсылку SMS’ок на мобильники..

Очень нужна поддержка NWGSM и MTS-SPB. Остальное не обязательно.

Прикреплять мобилу к компу не хочется.

Под винду нечто, отсылающее смски на МТС, найдено: зовётся CMD2SMS C Мегафоном у этой проги не всё так здорово.

А вот под Линухи…. Софт есть, только не работает нифига. Ни smssend, ни linuxsms заставить работать не удалось..

Попробовал совсем извращенный вариант, зарегил почтовый ящик на nwgsm.ru, и настроил отсыл почты туда.. Мегафон присылает уведомлени е о приходе почты, можно её загрузить ещё одной смской, прочитать..

Проблема в том, что смску с уведомлением о приходе письма я получаю с 10-15 минутным опозданием.. Не вариант.. ((

Есть что сказать по этому поводу..?

Genie

проще подоткнуть мобилу и через неё рассылать смски..

это несколько надёжнее получается.

правда, у наших операторов новая засада: они смски ночные стали утречком доставлять. оно, конечно, за такую заботу им спасибо, но хотелось бы и без оной временами….

Curu3MyHg
Genie
проще подоткнуть мобилу и через неё рассылать смски..

это несколько надёжнее получается.

Ну ладно.. Тогда советуй самую дешёвую GSM-мобилу, которая под эти цели подойдёт! ;))

С подключением через COM-port или через USB.

Genie

моторчик С350 пойдёт точно

мтожет что ещё попроще есть — не знаю, не искал.

и этот-то купить не дорого ;)

8084

c350 — самый линуксовый телефон

:)

Code Monkey

+1.

Е365 тоже подрубается, но извратно… да и смс у меня спихнуть с нее так и не получилось…

Curu3MyHg
Genie
моторчик С350 пойдёт точно

мтожет что ещё попроще есть — не знаю, не искал.

и этот-то купить не дорого ;)

пасибо, обдумаем…

Curu3MyHg

случилось нечто…

мне подбросили скриптик, который занимается отсылкой смсок на МТС со всякой фигнёй на тему «Лиги Чемпионов».

Скриптик на перле, перл для меня нечто совершенно загадочное и далёкое.

Скрипт был отдан rgo, на следующий день rgo вернул уже вычлененную из него функцию отсылки смсок.

Далее потребовалось только осознать методом научного тыка принцип его работы и адаптировать его к условиям Питера и реально существующим МТСовским аккаунтам :)

#!/usr/bin/perl -w
use warnings;
use strict;
use locale;
use LWP::UserAgent;
use HTTP::Cookies;
use HTML::TreeBuilder;
use HTML::Form;
use HTML::Entities qw(%entity2char);
use File::Temp qw(mktemp);
use POSIX qw(strftime);
use HTTP::Request;
use strict;
my( $phone, $passwd, $toph, $sms ) = @ARGV;
print "phone=".$phone." passwd=".$passwd." toph=".$toph." sms=".$sms;
# Даннfz строка выводит, то что будет посылаться SMS, но само сообщение не уйдет
#  print join(' ', @_), "\n"; exit 0;
#$#ARGV==3 or die "Usage: sendsms    ";
#==================================================
# входим в систему
print "(".strftime( "%H:%M:%S", localtime ).") Start\n";
my $ua = LWP::UserAgent->new;
my $cookie_jar = HTTP::Cookies->new( file => 'mtscookies.txt', autosave => 1 );
$ua->cookie_jar( $cookie_jar );
my $req = HTTP::Request->new( GET => 'https://www.spb.mts.ru/cgi-bin/cgi.exe?function=is_newlog' );
$req->header( 'Accept' => 'text/html' );
my $res = $ua->request( $req );
if( $res->is_error() )
{
    print "Error: " . $res->status_line() . "\n";
    exit( 1 );
}
my $root = HTML::TreeBuilder->new_from_content( $res->content() );
print "(".strftime( "%H:%M:%S", localtime ).") Login form\n";
# ищем форму входа
my $e = $root->look_down( '_tag' => 'input', 'value' => 'SpasiboZaPonimanie' );
if( !defined( $e ))
{
    print "No 'SpasiboZaPonimanie' input\n";
    exit( 1 );
}
my $eform = $e->look_up( '_tag' => 'form' );
if( !defined( $eform ))
{
    print "No login form\n";
    exit( 1 );
}
my $form = HTML::Form->parse( $eform->as_HTML(), $res->base() );
if( !defined( $form ))
{
    print "Illegal login form\n";
    exit( 1 );
}
# подставляем номер телефона и пароль
my $inp = $form->find_input( "mobnum", "text" );
if( !defined( $inp ))
{
    print "No input mobnum/text\n";
    exit( 1 );
}
$inp->value( $phone );
$inp = $form->find_input( "Password", "password" );
if( !defined( $inp ))
{
    print "No input password/password\n";
    exit( 1 );
}
$inp->value( $passwd );
$res = $ua->request( $form->make_request() );
if( $res->is_error() )
{
    print "Error: " . $res->status_line() . "\n";
    exit( 1 );
}
print "(".strftime( "%H:%M:%S", localtime ).") After-login form\n";
# refresh
$req = $res->request();
$req->uri( 'https://www.spb.mts.ru/cgi-bin/cgi.exe?function=sms_send' );
$res = $ua->request( $req );
if( $res->is_error() )
{
    print "Error: " . $res->status_line() . "\n";
    exit( 1 );
}
$root = HTML::TreeBuilder->new_from_content( $res->content() );
print "(".strftime( "%H:%M:%S", localtime ).") SMS form!\n";
# ищем форму ввода сообщения
$e = $root->look_down( '_tag' => 'input', 'name' => 'To',
                       'maxlength' => 15 );
if( !defined( $e ))
{
    print "No 'To' input\n";
    exit( 1 );
}
$eform = $e->look_up( '_tag' => 'form' );
if( !defined( $eform ))
{
    print "No sms form\n";
    exit( 1 );
}
$form = HTML::Form->parse( $eform->as_HTML(), $res->base() );
if( !defined( $form ))
{
    print "Illegal sms form\n";
    exit( 1 );
}
# подставляем номер телефона и текст
$inp = $form->find_input( "To" );
if( !defined( $inp ))
{
    print "No input To\n";
    exit( 1 );
}
$inp->value( $toph );
$inp = $form->find_input( "Msg", "textarea" );
if( !defined( $inp ))
{
    print "No input Msg\n";
    exit( 1 );
}
$inp->value( $sms );
$res = $ua->request( $form->make_request() );
if( $res->is_error() )
{
    print "Error: " . $res->status_line() . "\n";
    exit( 1 );
}
{
    my $resfn = mktemp("./smsXXXXX");
    open( RES, ">$resfn.html" );
    binmode( RES );
    print RES $res->content();
    close( RES );
}
print "(".strftime( "%H:%M:%S", localtime ).") Ok!\n";
$root->delete();

запускается так:

/путь/к/скрипту/и/имя/скрипта  <номер абонента, под чьим аккаунтом будет слаться SMS>  <пароль на этот аккаунт> <номер МТС-телефона, на который уйдёт SMS> <текст сообщения>

подробности тут: https://www.spb.mts.ru/cgi-bin/cgi.exe?function=is_newlog

P.S. Блин, сколько же я пива уже должен обитателям этого форума и irc-канала #nixp…

<font size=«+1»>Огромное вам всем спасибо, народ!</font>

Curu3MyHg

P.P.S. На комментарии можно особо внимания не обращать, они остались от первого скрипта: SMSки отсылаются (пусть и за денежку).

P.P.P.S. Дать ссылку на автора первоначального скрипта не могу, так как скрипт ко мне попал «от третьих лиц».

Master

Siemens С35/C45/S45 — хорошие мобилы для отправки СМС

Steck

SonyEricsson K700i over bluetooth

Оч хорош для отсылки смс =)

taxfree

Пользуйся этим сайтом Работает на отсулку sms абонентам gsm операторам по всему миру Есть возможность отправлять и анонимные смс в том числе с указанием произвольного номера Цены такие Простое sms 0.06$ Анонимное sms 0.10$ И главное при сумме на твоем аккаунте более 25$ все sms для тебя бесплатны Работает очень хорошо Sms доходят быстро Потерь нет вообще Как будто отправил с телефона :D

Curu3MyHg

Ну, если уж начали рекламировать, могу дать ещё несколько ссылок на подобные ресурсы:

1) http://sms.spb.su/

Довольно долго пользовался услугами этих ребят, жалоб нет, есть возможность выставлять абсолютно произвольные номера и слова в качестве source number.

2) http://smsoff.ru/

Когда я с ними общался, у них ещё толком ничего не работало, но это было давно, они только начинали.

3) http://smstraffic.ru/

С этими я общался исключительно по мылу, ничего плохого или хорошего сказать не могу.

Все системы создавались из расчёта на массовые рассылки, но допускают и штучные смски.

Со всеми можно разговаривать по ценам в зависимости от количества сообщений, стандартный тариф — 1.20 руб (+/-10 копеек) за штуку.

Во всех трёх случаях уже есть готовые скрипты для автоматической отправки сообщений.

ЗЫ Я спрашивал только про Питер.

taxfree

http://sms.spb.su/

Не открывает почему то у меня

Все остальное в основном для рассылок

Any_Key

эээ а почему не поюзать smssend

я в своё время почти на всех операторов настроил

если СМСгейт у провайдера есть можно для него скриптик с настройками дописать.

она почему-то не поддерживаетсяно почти наверняка есть в дистре (дебиан точно)