Инструкция по добавлению SMS gate-листов в Java-приложение «Mega Sender, version 1.9…»

 

Данная инструкция предназначена для людей, которые не хотят вдаваться в технические подробности вышеуказанного приложения, а хотят просто и понятно добавить SMS gate-листы, которые не предусмотрены по умолчанию в самом приложении.

SMS gate-лист – это Интернет-страница, с которой возможна SMS-отправка.

По умолчанию в «Mega Sender, version 1.9…» даны 55 gate-листа – в основном Интернет-страницы конкретных операторов сотовой связи. Им присваивается порядковый ID-номер (#0, #1 и т.д.).

Техническая сущность этих gate-листов находится в txt-файлах «prefs», «urls», «datas». Их (и только их!) надо редактировать.

Процедура добавления нужных Вам gate-листов состоит из 5 шагов.

 

Шаг 1. Копирование

Скопируйте приложение «Mega Sender», версия которого не ниже 1.9 на ваш ПК (не на телефон!).

Шаг 2. Интернет

1. Подключите Интернет на вашем ПК (не на телефоне!).

 

2. В любом из «поисковиков» (Апорт!, Яндекс и т.д.) ищем SMS gate-листы.

Для этого вводим текст типа «Отправка SMS с сайта».

!Совет! Лучше всего пользоваться теми SMS gate-листами, которые размещены на Интернет-сайтах конкретных городов. Например, я нашёл свой SMS gate-лист, введя фразу «Отправить SMS с сайта Красноярск».

Вам выдадут список сайтов с короткой аннотацией на них. Большинство из этого списка – чушь – какая-нибудь реклама. Конечно, можно открывать их все подряд, но для экономии времени и денег лучше делать это выборочно.

Здесь важна аннотация на эти сайты.

Быстренько пробегите аннотацию глазами. Сайты с адресом https пропускаем сразу – с ними приложение работать не будет. Аннотация, которая по внутреннему убеждению внушает вам доверие - заслуживает просмотра – открывайте сайт с этой аннотацией.

!Совет! Как правило, большинство реально работающих сайтов с СМС-отправкой имеют в «поисковиках» такую аннотацию: «Отправка SMS», «Отправить SMS c сайта», «SMS отправить» и т.п. – главное, чтобы было коротко и чётко.

 

3. На сайте находим Интернет-страничку непосредственно с СМС-отправкой.

Например, возьмём сайт http://www.i-port.ru/

На нём SMS gate-лист находится здесь: http://www.i-port.ru/sms.shtml

Смотрим нет ли указания на ввод кода с картинки. Если код есть – этот сайт нам не подойдёт, если нет – подойдёт.

Заполняем все поля на этом листе, с указанием телефона адресата и сообщения. Лучше всего это сделать на свой номер. Экспериментируйте с номером – попробуйте разные комбинации (например, +79130000000, или 79130000000, или 89130000000, или 9130000000 и т.д.). Если одна из них не сработает, то другая может сработать. Запомните работающую комбинацию!

Ждём доставки этого сообщения на ваш телефон (не путайте с сообщением сайта о том, что СМС отправлено!).

Если пришло – ура, работает. Если нет – увы…

!Совет! Отправленное с сайта сообщение может прийти на конкретный номер не сразу. Советую подождать 3 минуты. Если после 3 минут сообщения нет – его, как правило, уже и не будет.

Далее – запоминаем адрес POST-запроса, т.е. после того, как сайт сообщит, что СМС отправлено запишите адрес, который высвечивается в диалоговом окне (где указываются адреса сайтов). Запишите этот адрес полностью, целиком!

Затем возвращаемся к той странице, с которой было отправлено сообщение. Сохраняем эту страничку в любое место на вашем компьютере («Сохранить как…»). Отключаем Интернет на вашем ПК.

Проверяем правильность записанного вами адреса. Для этого открываем сохранённый SMS gate-лист через «Блокнот». Выбираем «Правка», затем «Найти». Ищем слово Form (оно должно быть отдельным, цельным словом и быть первым в строке, которая отделена от других строк < >). После того, как компьютер найдёт Вам первый Form, где в одной строке с ним будет action – больше ничего не ищем!

Теперь смотрим два примера дальнейшего развития событий…

 

Первый пример. «Сокращённый gate»

Возьмём SMS gate-лист http://www.megafonsib.ru/?page=sendsms

Проделав вышеуказанную операцию, в строке < > мы увидим следующее:

<FORM name=sendsms action=/?page= method=post>

Нас интересует action. В моём примере он равен ?page=

Затем мы берём адрес SMS gate-листа  (http://www.megafonsib.ru/?page=sendsms). Из него удаляем всё, что стоит после /

Получим http://www.megafonsib.ru/

К нему, в свою очередь, добавляем Ваш вышеупомянутый action (в моём случае ?page=).

Таким образом, окончательный вариант адреса POST-запроса будет таков:

http://www.megafonsib.ru/?page=

Если он совпадает с тем, который вы уже записали – хорошо, а если нет – вычёркивайте ранее записанный, а на его место вставляйте только что полученный, ибо именно он – правильный!

 

Второй пример. «Полный gate»

Возьмём SMS gate-лист http://isp.krasnoyarsk.ru/sms/send.php

Проделав вышеуказанную операцию, в строке < > мы увидим следующее:

<FORM id=10 name=sForm action=http://isp.krasnoyarsk.ru/forum/index.php?act=Search&amp;CODE=01

method=post>

Нас интересует action. В моём примере он равен http://isp.krasnoyarsk.ru/forum/index.php?act=Search&amp

Мы видим, что action – это конкретный http – адрес. Он-то и будет полным вариантом адреса POST-запроса.

Таким образом, адрес POST-запроса будет таков:

http://isp.krasnoyarsk.ru/forum/index.php?act=Search&amp

Если он совпадает с тем, который вы уже записали – хорошо, а если нет – вычёркивайте ранее записанный, а на его место вставляйте только что полученный, ибо именно он – правильный!

 

4. Далее – экспериментируем с интересующим нас сайтом в Интернете. Для этого вновь подключим Интернет, а затем введём во вновь открывшемся через Интернет сайте сообщение на русском языке (открыть при подключённом Интернете надо не сохранённый вами ранее SMS gate-лист!). Убедитесь поддерживает ли сайт кириллицу. Экспериментируйте с длиной сообщений – сколько приходится на кириллицу, а сколько на латиницу (максимум и минимум). Запомните эти цифры!

!Совет! На некоторых SMS gate-листах указано конкретно о количестве символов. Но это не всегда соответствует истине. Здесь важна ваша практика. Как правило, большое значение имеет телефон и оператор того, кому отправлено сообщение. Важно также помнить, что абонентам Мегафон и Билайн сообщения с большинства сайтов не придут без активации у них приёма сообщений с электронной почты. Также не вводите сообщения сразу друг за другом, желательно это делать с интервалом, превышающим 1 минуту.

 

5. Отключаем Интернет на вашем ПК.

 

Шаг 3. Подготовка

1. Открываем сохранённую страничку (SMS gate-лист) с помощью «Блокнота».

Жмём «Правка», затем «Найти». Ищем слово post (он должен быть отдельным словом, а не составной частью слова, например poster).

ПК находит вам это слово. Выделяем его, заменяем его без лишних символов на слово get

Таким образом надо заменить все post на get

 

2. Затем ищем слово onSubmit. Если его нет – хорошо, если есть – не очень.

С этим разбираемся следующим образом. Например, onSubmit находится в следующей строке, которая отделена от других строк < >:

<FORM name=sms onsubmit='return sendMessage(this)' action=/cgi-bin/b/b.cgi method=get>

Её надо превратить в такую строку:

<FORM name=sms method=get>

То есть надо удалить onSubmit=*** и рядом стоящее action=/***

 

3. Сохраняем все исправления.

 

4. Запускаем SMS gate-лист как документ Интернета (без подключения последнего!).

Для удобства, к примеру, вводим ваш номер (в той комбинации, которая точно работает) и текст hello.

Жмём «Отправить».

В диалоговом окне, где пишется исходное размещение странички образуется надпись, например:

file:///C:/Documents%20and%20Settings/Женя.RR9IGB32VCUC4NX/Рабочий%20стол/Всякая%20всячина/SMS-отправка/Интернет-Порт.htm?number=%2B79130000000&text=hello&tr=&count=0&action=sent

Нас интересует всё, что находится после знака ?, т.е. нас интересует следующее:

number=%2B79130000000&text=hello&tr=&count=0&action=sent

Далее – применяем авторские кодировки:

%tll% - номер целиком (например, 79235556677 или 9235556677 или городской мобильный 577070 и т.п.)

%pref4% - первые 4 цифры номера (например, 7923)

%pref5% - первые 5 цифр номера

%pref6% - первые 6 цифр номера

%pref7% - первые 7 цифр номера

%tll1% - номер, начиная со второй(!) цифры

%tll3% - номер, начиная с четвёртой(!) цифры

%tll4% - номер, начиная с пятой(!) цифры

%tll5% - номер, начиная с шестой(!) цифры

%tll6% - номер, начиная с седьмой(!) цифры

%tll7% - номер, начиная с восьмой(!) цифры

%txt% - текст сообщения

%ost% - количество оставшихся символов

%num% - количество символов в сообщении

Преобразуем вышеуказанную надпись с учётом этого реестра. Получаем:

number=%2B%tll% &text=%txt%&tr=&count=0&action=sent

Запоминаем, а лучше записываем на листочке получившуюся у Вас строку!

Пример, который я привёл выше, как мы видим, достаточно простой. Существуют же более сложные примеры, в которых не так-то просто к строке POST-запроса применить авторские кодировки.

Разберем их на конкретном примере.

Возьмём SMS gate-лист http://www.kinf.ru/index.php

Из него мы получим такую строку:

prefix=913&number=0000000&message=hello

Из этой строки видно, что сообщение с текстом hello отсылается на номер 9130000000 (обращаю внимание – не 79130000000!) с разделением номера телефона на префикс 913 и «остатком» 0000000.

Этот номер трудно подвести к авторским кодировкам, т.к. символов здесь 10, а не 11. Префикс 913 – это первые 3 цифры номера, а префиксы в авторских кодировках (смотри выше) начинаются с первых 4 цифр номера!

Однако в моём примере выход прост – пишем префикс 913 как префикс, состоящий из первых 4 цифр номера (т.е. %pref4%), будто это 7913! И далее – «остаток» номера пишем, начиная с 5 цифры, т.е. %tll4%.

Таким образом, преобразованная строка в моём примере будет такой:

prefix=%pref4%&number=%tll4%&message=%txt%

 

Шаг 4. Редактирование

1. «Извлеките файлы» из архива «Mega Sender» (если это архив) на вашем ПК, а затем «извлеките файлы» из jar-файла MegaSender. Там найдёте интересующие нас txt-файлы «prefs», «urls», «datas».

 

2. Для простоты рекомендую удалить в указанных файлах все строки, кроме первых.

В «prefs» должно остаться 7923:0 #

В «urls» должно остаться mega 0 http://www.megafonsib.ru/?page= 70 160 #0

В «datas» должно остаться  #0 action=sendsms&tll=%2B%tll%&co=on&submitted=yes&txt=%txt%&send=send

 

3. Работаем с «prefs».

Смотрим Шаг 2, пункт 3 – там, где говорится о телефонных комбинациях. Вы должны были запомнить работающую. Вспомнили? Тогда вставляем первую (первые) цифры этой комбинации в указанный файл, т.е. 7923 меняем на префикс (префиксы), с которым работает SMS gate-лист! После этого через : указываем ID-номер этого листа. Таким образом, получим, например следующее:

7913:0 7915:0 7902:0 7903:0 #

!Совет! Важно помнить, что в самом приложении при наборе номера всегда надо набирать сначала +, а затем конкретный номер. При этом +, как мы видим, в файле «prefs» фигурировать не должен!

Для удобства, если SMS gate-лист отправляет сообщения всем операторам, необходимых вам, можно использовать просто первую цифру. Например:

7:0 #

Если в приложение вы вставляете ещё один SMS gate-лист, то в префиксах вы увидите, к примеру, следующее:

7913:0 7915:0 7902:0 7903:0 7945:1 799:2 789:2 7001:3 #

Важно, чтоб в конце строки был знак #

При этом не должно быть лишних символов – до и после, а также между префиксами.

Один префикс – один пробел – это важно помнить!

!Совет! Не используйте короткий префикс (например, 7:0 #) когда имеют место другие SMS gate-листы, использующие первой цифрой ту, которую вы присвоили другому SMS gate-листу. Например, SMS gate-лист http://www.i-port.ru/sms.shtml отправляет СМС только абонентам Красноярского края, где, допустим, вы живёте. А вам надо ещё отправлять СМС жителям Ульяновской области (абонентам СМАРТС - Ульяновск) – для этого вы используете SMS gate-лист http://ul.smarts.ru/. Первому вы присвоили префикс 7:0, а второму 7908:1. При работе приложения отправка СМС будет осуществляться тогда только по первому SMS gate-листу, т.е. СМС доходить до Ульяновска не будут. Это происходит из-за того, что приложение читает префиксы слева направо, т.е. оно на 7 остановится – и всё тут!

 

4. Работаем с «urls».

Смотрим Шаг 2, пункт 3 – там, где говорится об адресе отправки SMS gate-листа. Вы должны были запомнить окончательный, уже проверенный, т.е. правильный адрес POST-запроса. Вспомнили?

Этот адрес вставляйте в

mega 0 http://www.megafonsib.ru/?page= 70 160 #0

вместо http://www.megafonsib.ru/?page=

Вставили? Молодцы!

 

Дальше, советую, mega заменить на null.

Как заявляет автор «mega - картинка в справочнике C650 и т. п. (возможны варианты: null (без картинки), bee, mts, smarts, motiv)».

Как я понял, слова bee, mts, smarts, motiv важны лишь для телефона Motorola C650. Они указывают на SMS gate-лист конкретного оператора сотовой связи – того, чьим абонентом является лицо, которому посылается СМС через этот лист.

Мы же используем «сторонние» SMS gate-листы, поэтому пишем null

Заменили? Молодцы!

 

Далее – меняем цифру после предыдущего.

Как заявляет автор «0 - кодировка (0 - KOI8, 1 - win_cp-1251, 2 - UTF8, 3 - транслит)».

Для того чтобы определить кодировку шрифта надо вновь открыть «Ваш» SMS gate-лист. В меню «Правка» жмите «Найти». Ищите слово charset.

Если ПК подчеркнёт вам charset, который равен koi8 (например, charset =koi8-r) – ставьте цифру 0.

Если ПК подчеркнёт вам charset, который равен win_cp-1251 (например, charset=windows-1251) – ставьте цифру 1.

Если ПК подчеркнёт вам charset, который равен UTF8 – ставьте цифру 2.

Используйте цифру 3, если знаете, что сообщение отправляется только в «транслите» (латинице), а не в кириллице.

!Совет! Если честно, большинство SMS gate-листов адекватно работают с WIN-кодировкой (т.е. цифра 1).

Определили? Молодцы!

 

Затем меняем цифры после адреса POST-запроса, т.е. в нашем примере меняем 70 и 160.

Для этого обращаемся к шагу 2, пункту 4 – вы должны были запомнить цифры – максимальное количество символов, отправляемых с сайта в кириллице и в латинице.

Первая цифра (в нашем случае 70) - максимальное количество символов русскими буквами.

Вторая цифра (в нашем случае 160) - максимальное количество символов латиницей.

Заменили? Молодцы!

 

И, наконец, указываем ID-номер SMS gate-листа.

Как заявляет автор: «В первой строке должен быть оператор #0, во второй #1 и т. д., без разрывов. Если, к примеру, 5-й оператор не нужен, но он не последний в списке, то строка должна быть такой: "null 0 empty 0 0 #5"».

 

5. Работаем с «datas».

Как мы помним, там у нас осталась строка

#0 action=sendsms&tll=%2B%tll%&co=on&submitted=yes&txt=%txt%&send=send

 

Что мы делаем?

Для начала оставляем ID-номер SMS gate-листа.

Обращаемся к Шагу 3, пункту 4 – где вы записали длинную (или не очень) непонятную строку. Её то мы и вставляем вместо action=sendsms&tll=%2B%tll%&co=on&submitted=yes&txt=%txt%&send=send

Если имеются ещё SMS gate-листы, то делаем аналогично этому, однако не забываем менять ID-номера (после #0 через Enter идёт #1 и т.д.).

 

Шаг 5. Проверка

Проверяем полученное.

В «prefs» должно быть: <НЕТ ПРОБЕЛА>ПРЕФИКС:ID-номер<ПРОБЕЛ>ПРЕФИКС:ID-номер<ПРОБЕЛ>ПРЕФИКС:ID-номер<ПРОБЕЛ># (и т.д.)

Например: 7:0 #

В «urls» должно быть: <НЕТ ПРОБЕЛА>СЛОВО КАРТИНКИ<ПРОБЕЛ>ЦИФРА КОДИРОВКИ<ПРОБЕЛ>Адрес POST-запроса<ПРОБЕЛ>КОЛ-ВО КИРИЛЛИЦЫ<ПРОБЕЛ>КОЛ-ВО ЛАТИНИЦЫ<ПРОБЕЛ>#ID-номер

Например: mega 0 http://www.megafonsib.ru/?page= 70 160 #0

В «datas» должно быть: <НЕТ ПРОБЕЛА>#ID-номер<ПРОБЕЛ>Текст POST-запроса

Например: #0 action=sendsms&tll=%2B%tll%&co=on&submitted=yes&txt=%txt%&send=send

 

Затем – всё сохраняем. Сверяем соответствия ID-номеров во всех 3 файлах.

Открываем первоначальный jar-файл ««Mega Sender». Открываем его с помощью архиватора. Удаляем там предустановленные 3 файла («prefs», «urls», «datas»). На их место вставляем редактированные вами «ваши» «prefs», «urls», «datas».

Далее – устанавливаем приложение в телефон, после чего пользуемся в своё удовольствие!