Прежде чем приступить к каким-то
действиям, настоятельно рекомендую сначала прочитать, а после начинать
действовать, лучше ознакомиться, чем пытаться схватить на лету!!!!!
Нам понадобится для всех изменений 3 программы:
Для начала разберёмся, как уменьшить время загрузки приложения, и плавно как перейдём к добавлению своего оператора!
Скачиваем на ПК MegaSender.jar (совершенно без разницы, какая версия, лишь бы поддерживал ручную добавку операторов)
Нажимаем на него правой кнопкой мыши и выбираем «Извлечь в MegaSender\»
Появляется папка MegaSender, в ней и будут происходить все действия.
PREFS.TXT
Описание от автора:
«Делал на скорую руку, с
большими списками работать не удобно.
Файл представляет собой строку
вида "префикс:код_оператора префикс:код_оператора префикс:код_оператора
#".
Например: "7923:0 7905:1
7909:1 #".
Порядок префиксов может быть
любым, но надо учитывать, что поиск кода оператора по префиксу идёт слева». (Мне
сюда добавить нечего)
Я не буду рассматривать чистку PREFS.TXT и всех других файлов, мы просто напишем свои!
Нам надо узнать на какие номера мы будем отсылать сообщения (нам нужны префиксы +7903, +7904 и т.д.)
Для этого переходим по адресу в Интернете http://mtt.ru/info_def/ .
В пункте «РЕГИОН» нужно выбрать свой регион.
В пункте «СТАНДАРТ» выбираем GSM.
А в пункте «ОПЕРАТОР» выбираем «ВСЕ», (чтобы все нужные нам префиксы были рядом, и за одно сохраните эту страницу, чтоб можно было после посмотреть ещё разок, вдруг забудете кого-нибудь)
Теперь разберёмся, как создать свой PREFS.TXT.
Создаём файл блокнота с именем PREFS_.TXT.
И вносим туда своих операторов
Со страницы http://mtt.ru/info_def/ копируем префиксы операторов в наш новый файл PREFS_.TXT.
В формате: ПРЕФИКС_ОПЕРАТОРА ДВОЕТОЧИЕ ID-ОПЕРАТОРА, где ID-оператора начинаем с нуля (это будет своего рода нумерация).
Следует учесть, если на одного оператора, но на разные префиксы отправляются СМС с одной страницы, то ID-оператора у них будет один и тот же.
Например: 7903:0 7905:0 7906:0.
Если у одного оператора, на разных префиксах используются разные сайты для отправки, то и ID-оператора ОБЯЗАТЕЛЬНО должны быть разные. (Иначе СМС просто не дойдёт)
Например: 7919:2 7902:3!
И ещё один момент, если для РАЗНЫХ операторов используется один сайт, то ID-оператора тоже должен быть разный, для того, чтобы не было ошибки с картинками в справочнике!!!
Пример: мне потребовались всего 4 оператора:
Название оператора |
Кол-во номеров |
Префиксы |
Мегафон Северный
Кавказ |
1 |
7928 |
Теле2 (Tele2 или Ростовская Сотовая Связь) |
4 |
7904 |
7908 |
||
7950 |
||
7951 |
||
МТС |
3 |
7902 |
7918 |
||
7919 |
||
BeeLine (ВымпелКом) |
6 |
7903 |
7905 |
||
7906 |
||
7909 |
||
7960 |
||
7961 |
Новый PREFS_.TXT выглядит у меня так:
7903:0 7905:0 7906:0 7909:0 7961:0 7962:0 7904:1 7908:1 7950:1 7951:1 7918:2
7919:2 7902:3 7928:4
#
В итоге 14 префиксов, но заметьте, что на 4 оператора 5 ID-оператора!
Согласитесь совсем не большой!!!
Но если вы не знаете, где и сколько используется сайтов (что скорее всего), то лучше каждому префиксу дать свой ID-оператора, тогда PREFS_.TXT у меня выглядел бы так:
7903:0 7905:1 7906:2 7909:3 7961:4 7962:5 7904:6 7908:7 7950:8 7951:9 7918:10 7919:11 7902:12 7928:13 #
Надеюсь, вы разобрались, как создать
файл PREFS_.TXT.
Но не забываем в конце файла PREFS_.TXT поставить #, отделив его пробелом от
префиксов!!! Например: 7928:13 #
С DATAS.TXT и URLS.TXT надо работать одновременно, из-за очень близкой родственностиJ!
Создаём файлы DATAS_.TXT, URLS_.TXT, опять же в блокноте!
Открываем одновременно DATAS.TXT, URLS.TXT и PREFS.TXT а так же DATAS_.TXT, URLS_.TXT и PREFS_.TXT
Мы будем работать со всеми шестью файлами одновременно, но начнём с PREFS_.TXT и
PREFS.TXT
Смотрим на наш первый префикс 7903: в PREFS_.TXT, выделяем префикс и копируем (не берём id-номер оператора т.к. мы её сейчас и будем их отыскивать)
Далее переключаемся на PREFS.TXT.
Выбираем «ПРАВКА-НАЙТИ»
В появившимся окошке вводим свой префикс (включая двоеточие) и
Нажимаем «Найти далее»
В результате необходимый префикс у нас выделится (если он есть в списке) если выскочило окошко
Попробуйте изменить «Направление» «вверх-вниз»- это направление поиска по тексту относительно курсора. Но если не помогло, то этого оператора нет, следовательно, смотрим, как добавить поддержку своего оператора (см. ниже)
Смотрим на число после двоеточия. В моём случае «1»
Значит id-номер оператора-1.
Переходим к URLS.TXT- информация о форме отправки.
Описание от автора:
«Пример строки файла: bee 1 http://www.beeonline.ru/servlet/send/sms 66 156 #1
bee - картинка в справочнике C650 и т. п. (возможны варианты: null (без картинки), bee, mts, smarts, motiv)
1 - кодировка (0 - KOI8, 1 - win_cp-1251, 2 - UTF8, 3 - транслит)
http://www.beeonline.ru/servlet/send/sms - адрес, куда отправляется запрос (action в форме)
66 - максимальное количество символов русскими буквами
156 - максимальное количество символов латиницей (количество символов в версии выше 1.9.3, максимально может быть 1500, но вы должны быть уверены, что оператор пропустит такое кол-во символов)
#1 - id-номер оператора» (чуть-чуть мной изменено, точнее я описал Билайн)
Переключаемся к URLS.TXT и ищем строчку, которая заканчивается на #1 (это и есть тот самый ID-оператора)
Копируем строчку полностью в URLS_.TXT, и меняем ID-оператора на тот, который у нас стоит в PREFS_.TXT (у меня стоит ноль)
Получается что-то подобное:
bee 1 http://www.beeonline.ru/servlet/send/sms
66 156 #0
Описание
от автора DATAS.TXT:
datas.txt
- данные, отправляемые, на сервер
Пример строки файла: "#1
termtype=G&prf=%pref4%&phone=%tll4%&send=&maxsym=%ost%&message=%txt%&translit=1&symnum=%num%"
#1 - код оператора
termtype=G&prf=%pref4%&phone=%tll4%&send=&maxsym=%ost%&message=%txt%&translit=1&symnum=%num%
- текст POST запроса
Теперь переключаемся к DATAS.TXT, и находим строку начинающуюся на #1, копируем её полностью в DATAS_.TXT, и опять меняем ID-оператора на тот, который у нас стоит в PREFS_.TXT (у меня стоит ноль)
Получается :
#0 termtype=G&prf=%pref4%&phone=%tll4%&send=&maxsym=%ost%&message=%txt%&translit=1&symnum=%num%
Так проделываем со всеми
префиксами, меняя только ID-оператора!!!
После того, как все префиксы добавлены, и DATAS_.TXT, URLS_.TXT полностью созданы, удаляем оригинальные DATAS.TXT, URLS.TXT и PREFS.TXT.
А DATAS_.TXT, URLS_.TXT и PREFS_.TXT переименовываем в DATAS.TXT, URLS.TXT и PREFS.TXT
Выделяем все файлы в папке MegaSender,\
Нажимаем правой кнопкой мыши и выбираем: «Добавить в архив»
В появившимся окне WinRAR выбираем:
Формат архива «ZIP»
Метод сжатия «Максимальный»
Имя архива за место MegaSender.zip пишем MegaSender.jar и нажимаем «ОК»,
Появляется файл MegaSender.jar в
папке MegaSender.
Устанавливаем его в телефон, используя MotoMidMan, даём доступ к Файловой системе, и любуемся быстрой загрузкой Мидлета!
Но если вдруг вам этого мало, и вы хотите разобраться, как самому добавить оператора, читаем дальше!!!
Я сначала расскажу (точнее говоря перескажу слова Smi1e), а после поясню, на примере (пример будет лёгкий, в связи с нехваткой времени, и незнанием JAVA SCRIPT, надеюсь Smi1e найдёт время и пояснит по подробнее)
Смотрим файл URLS.TXT, и запоминаем последний ID-оператора в последнеё строке (последние число после решётки (#)), например:
null 1 http://www.rocc.ru/cgi-bin/sms33.cgi 1500 1500 #37 (выделен красным полужирным)
Открываем файл PREFS.TXT, и в конец добавляем свой префикс, учитывая структуру файла (префикс двоеточие ID-оператора).
ID-оператора должен быть на единицу больше чем последний ID-оператора, не забываем, что в конце файла должна стоять РЕШЕТКА (#).
Например:
До добавления: 7918:2 7919:2 7902:3 7928:4 #
После добавления: 7918:2 7919:2 7902:3 7928:4 7973:38 #
Разберёмся, что надо прописать в URLS.TXT и DATAS.TXT
Как уже писалось DATAS.TXT - данные, отправляемые на сервер,
А URLS.TXT - информация о форме отправки,
Давайте разберёмся, откуда брать адрес, куда отправляется запрос, который необходимо указать в URLS.TXT
Находим сайт с которого можно отправить СМС на номер с нужным нам префиксом, его можно посмотреть на сайте http://send.smska.org/ но следует учесть,
ОТПРАВКА
ДОЛЖНА БЫТЬ БЕЗ КОДА ПОДТВЕРЖДЕНИЯ, если там
такого не нашли, придётся попользоваться поисковиком. http://ya.ru http://google.ru http://rambler.ru каким хотите, в общем!
Переходим по необходимой нам странице, выбираем «ФАЙЛ-СОХРАНИТЬ КАК» и сохраняем страницу у себя на ПК.
От автора:
Смотрим исходник формы отправки (страница, сохранённая на ПК). Там есть параметр action (action необходимо найти в файле, открыв его Блокнотом, и воспользоваться «ПРАВКА-НАЙТИ». Если скрипт находится на другом сервере, то там будет как раз записан нужный url (типа http://host.ru/send.php), иначе там будет записан путь на этом сервере (типа /send.php) и его надо будет добавить к имени хоста ("http://host.ru"+"/send.php" = "http://host.ru/send.php?"). Но возможны варианты, например action в формах МТС: "action=cgi.exe?function=sms_send", а url должен быть http://host.ru/cgi-bin/cgi.exe?function=sms_send (Причина: нет "/" и cgi- скрипты должны храниться в папке "/cgi_bin"). (Пробовал, на каких-то сайтах нашёл, на каких-то не сумел)
Если не получилось, не расстраиваемся, есть ещё способ найти!
Опять же открываем файл Блокнотом
Описание от автора:
Исправить
в форме POST на GET. (выбираем
«ПРАВКА-ЗАМЕНИТЬ», в поле «ЧТО» вводим POST, а в поле «ЧЕМ» вводим GET.
Открыть в браузере и попробовать отослать смс (иногда необходимо, чтобы был отключен Интернет). Скорее всего выдастся ошибка, но в адресной строке будет что-то вроде "http://host.ru/send.php?number=79005556677&mes=hello". Сразу видно и url и текст запроса. («http://host.ru/send.php?» – это и есть необходимый нам адрес, куда отправляется запрос, и который необходимо указать в URLS.TXT)
(А «number=79005556677&mes=hello» - это необходимый текст запроса, данные которые отправляются на сервер, и которые необходимо прописать в DATAS.TXT. Но не забываем о структуре фала DATAS.TXT, перед текстом запроса необходимо поставить ID-оператора, а через пробел уже вставлять текст запроса.
Так же при вставке текста запроса необходимо использовать следующие переменные:
Переменная |
Описание |
Пример |
%tll% |
номер |
79235556677 |
%pref4% |
первые 4 цифры номера |
7923 |
%pref5% |
первые 5 цифр номера |
79235 |
%pref6% |
первые 6 цифр номера |
792355 |
%pref7% |
первые 7 цифр номера |
7923555 |
%tll1% |
номер, начиная со второй(!) цифры |
235556677 |
%tll2% |
номер, начиная с третьей(!) цифры |
35556677 |
%tll3% |
номер, начиная с четвёртой(!) цифры |
5556677 |
%tll4% |
номер, начиная с пятой(!) цифры |
556677 |
%tll5% |
номер, начиная с шестой(!) цифры |
56677 |
%tll6% |
номер, начиная с седьмой(!) цифры |
6677 |
%tll7% |
номер, начиная с восьмой(!) цифры |
677 |
%txt% |
текст сообщения |
Тут Нет Примеров |
%ost% |
количество оставшихся символов |
|
%num% |
количество символов в сообщении |
Например строчка вида Prefix=7909&phone=1112233&message=Proverka%0D%0A&remainchars=152
Должна выглядеть так:
Prefix=%pref4%&phone=%tll4%&message=%txt%%0D%0A&remainchars=%ost%
Правда могут
мешать скрипты и их нужно будет править.
Один из
простых способов борьбы со скриптами:
Удалить в
заголовке формы свойство onSubmit.
Т.е. из <form action='/sms/send.php'
method=get target='send' onsubmit='return
sendMessage(this)'>
сделать <form action='/sms/send.php'
method=get target='send'>
Мой пример:
Я открыл файл URLS.TXT и посмотрел последний ID-оператора, он равен 56, я его естественно запомнил.
Далее открыл файл PREFS.TXT и до решётки ввёл префикс оператора: 7950:57 (на единицу больше последнего ID-оператора) и поставил пробел, в итоге оконцовка файла выглядит так 7950:57 #
Дальше я перешёл по адресу http://editorial.rostov.tele2.ru/?page=teleruspb_serv_sendsms&t2page=services_smsform
Сохранил страницу на рабочем столе, отсоединился от Интернета.
Нажал правой кнопкой мыши на страницу, выбрал «Открыть с помощью -
Блокнот»
Выбрал «Правка – Заменить», в поле «ЧТО» ввёл POST, а в поле «ЧЕМ» ввёл GET и нажал «ЗАМЕНИТЬ ВСЕ»
Выбрал «Файл – Сохранить»
Два раза клацнул на страницу, и она открылась в браузере.
В поле «Номер» выбрал «7950», а в следующей секции ввёл номер
«1112233», в поле «Текст сообщения:» ввёл «HELP» и нажал кнопку «ОТПРАВИТЬ».
В строке адреса я получил следующий текст:
http://www.rocc.ru/cgi-bin/sms33.cgi?Prefix=7950&phone=1112233&message=HELP%0D%0A&remainchars=153
Теперь разберёмся что здесь и где.
Всё что стоит до знака вопроса (включая сам значок вопроса), а именно:
http://www.rocc.ru/cgi-bin/sms33.cgi?
Я вписал на новой строке в URLS.TXT, добавив null 1 перед этой строчкой, и после 1500 1500 #57.
В итоге получилось:
null 1 http://www.rocc.ru/cgi-bin/sms33.cgi 160 160 #57
А всё что стоит после вопросительного знака, необходимо вписать в Prefix=%pref4%&phone=%tll4%&message=%txt%&remainchars=%ost%
, предварительно немного изменив.
Текст выглядит так до изменения:
Prefix=7950&phone=1112233&message=HELP%0D%0A&remainchars=153
Заменим 7950 на %pref4%,
1112233 – на %tll4%,
а HELP – на
%txt%, и наконец 153
– на %ost%.
Теперь давайте их сравним:
Prefix=7950&phone=1112233&message=HELP%0D%0A&remainchars=153
Prefix=%pref4%&phone=%tll4%&message=%txt%&remainchars=%ost%
А вот теперь строчка готова для
добавления в DATAS.TXT, осталось только вписать перед этими данными
#57.
Окончательный текст готовый для добавления в DATAS.TXT
выглядит так:
#57 Prefix=%pref4%&phone=%tll4%&message=%txt%&remainchars=%ost%
Добавляем получившуюся строку DATAS.TXT сохраняем и упаковываем!
Вот теперь всё!!!
На счёт неясного объяснения:
Послушайте (точнее почитайте) мою историю:
Я всегда имел пятёрку по математике, но иногда бывало, что не могу я
решить задачу, хоть ты тресни! И я соответственно подходил до учительницы за
помощью, но на что получал ответ: -А ты задачу выучил? Нет? Ну тогда иди и учи,
и если ты её мне перескажешь и всё ещё не будешь знать как её решить, тогда я
тебе помогу!
В итогё, пока я её заучивал я находил путь решения, на крайний случай,
когда уже начинал пересказывать задачу я сам находил решение, в итоге за всё
время учёбы мне ни разу не подсказали, как решить ту или иную задачу!!!
Да-да, вы правильно поняли, я на это и намекаю!!! Если вы что-то не
поняли, попробуйте выучить моё описание, и я уверен, пока вы его учите вы
поймёте как это делается!!!
Низкий поклон Smi1e за эту програмулину!!!!
С ув. Xxx