post_sms.pl
Отправка СМС сообщений через WEB гейты...
Отправляет СМС сообщения ( по умолчанию настроен на МТС - Нижний Новгород ). Внутри есть примеры адресов для МТС - Московской области, Питера, Иркутска. Проверялась работа в НН, для остальных регионов тестирование свелось к просмотру вывода скрипта, надпись 'сообщение отправлено' присутствовала :) ). Изначально оно было заточено под МТС, сейчас описание гейтов лежит отдельно и теоретически туда можно прописать не только МТС...
Отправка происходит через WEB интерфейс гейтов. Ответ сервера на то, отправлено СМС или нет проверяется путем поиска в ответе сервера регулярного выражения ( определяется в настройках гейта ( хеш `gates` ) ), если регулярное выражение не определено, то сообщение считается отправленным если HTTP сервер вернул код возврата 20x. При использовании таки регулярных выражений для определения отправки сообщения, может возникнуть засада с некорректной кодировкой. ( Регулярное выражение записано в koi8 а ответ в cp1251 и тд... )
При работе со списком прокси серверов возможна некорректная работа при работе сервера оператора МТС и машины на которой расположен скрипт в разных тайм зонах ( некорректно вычисляется начало `нового` дня то есть '7:00' ). И еще на сайте MTS написано 10 сообщений с одного IP адреса - поэтому пользоваться публичными прокси серверами нисколько кривовато, не одни же вы такие умные... Относится к использованию с гейтами МТС.
Аргументы командной строки:
Количество попыток отправить СМС сообщение ( только при неиспользовании списка прокси серверов ).
Пауза ( секунд ) между попытками отправить СМС сообщение.
Имя файла с данными (СМС), по умолчанию читаем из STDIN.
Кодировка данных передаваемых на сервер ( по умолчанию для linux=koi8-r, для win32=windows1251 ). Имеет чисто информативный характер, тоесть ни какие перекодировки скриптом не производятся. Актуально только для client=lwp.
Быстрый старт ( по умолчанию 0 [отключено] ).
Вывести справку.
Номер телефона на который передавать СМС.
Имя файла в котором лежит список прокси серверов ( одна строка = один прокси сервер, эти значения при выполнении заносим в переменную окружения http_proxy ).
При указании в имени прокси `localhost` ( без имени протоколов и номеров портов ) используется локальный адрес машины ( или в зависимости от настроек системная переменная http_proxy ).
Транслитерация данных, `-notrn` отключить.
Оператор, в чью сеть шлем СМС, список доступных выводится с помощью `--help`.
Вывести в STDOUT данные полученные с сервера в html ( или чего он там в ответ послал ) формате.
Для отправки СМС использовать данного клиента. Доступные варианты lynx / lwp / wget ( версия с поддержкой ключа --post-data ). С lynx'ом не будут корректно работать некоторые гейты ( те, что проверяют Referer в заголовке запроса ).
Все остальные параметры командной строки или _ВСЕ_ параметры после '--' передаются могут использоваться для передачи серверу 'ка есть'. То есть щас так сделано для Иркутского гейта: `ls -l | post_sms.pl -phone 1234567890 prefix '+'` - здесь prefix дополнительный, переменный ( важно, так как статику можно и один раз руками прописать... ), параметр для Иркутского гейта.
Okunev Igor V. mailto:igor@prv.mts-nn.ru
http://www.mts-nn.ru/~gosha
ICQ 106183300