Программа проверки счета в биллинговой системе UTM. Наши дни
В предыдущих записях, я познакомил вас с моим творением ( ну натворил то...), под названием UеmCheck. Было это давно, многое изменилось. А программа осталась практически на той же стадии.
Написал я её до версии 0.9.2 , а провайдер решил в это время сменить версию билинга. Менял он медленно, в начале в одном районе , потом в другом. До моего района дошло только через год. И так это меня расстроило ( вру, лень было), что бросил я программу до лучших времен. И вот таки в моем районе стоит новый билинг, и судя по всему в нем уже нельзя что то менять по своему усмотрению в интерфейсе (дает надежду на простое решение). Видимо пришло время её дорабатывать.Сделаем пока первый «костыль» для старой версии — показ остатка на счету.
Приглядевшись к новому билингу замечаем
- Вход в билинг осуществляется через другой адрес. Раньше было https://server/cgi-bin/utm/aaa , а сейчас https://server/cgi-bin/utm5/aaa6 . ( хотя это у меня в районе только, в других aaa5, но мы «костыль» пишем)
- Вход происходит в один переход, т.е. ввели логин и пароль и мы уже на странице статистики (раньше было 2 перехода)
- На форме ввода логина и пароля изменилось значение скрытого параметра cmd
- Страница билинга сделана в формате UTF. А это в начале ставит в тупик — получается надо строки обрабатывать в UTF, соответственно другие функции и тому подобное. А глядя на перемешку TCHAR и CHAR в коде, становится уныло. Но ведь любой UTF представим в нашей кодировке тоже, но «корявыми» символами. А они как раз умещаются в тип CHAR. Таким образом искомая нами строка будет
Только вот в строке есть переход на новую строку. Т.к. вся система рассчитана на nix системы, то код символа перехода строки «x0A».Баланс РѕСЃРЅРѕРІРЅРѕРіРѕ счета</TD><TD class=\"utm-table\" align=\"left\">
- В нашем городе нету тарифов с предоплаченным трафиком, так что это мы обновлять не будем — протестировать не начем.
Определившись с нововведениями, начнем править код. Нужно изменить следующее:
в файле UtmCheck.cpp строку
меняем на
в файле inet.cpp строку
меняем на
( пробела между 6 и " нету, проблема с отображением)
меняем на
блок
{
return ERROR_READ_DATA;
}
strs.clear();
//second page
int e1;
if ((e1=GetWebPage(hConnect,VerbGet,buffer,"",&strs))!=ERROR_NO) return e1;
закомментируем.
Теперь компилируем, и в итоге получаем рабочий вариант для UTM 5 версии.
UtmCheck_src0.9.3.zip (21.8 KiB, скачано: 117) - текущий рабочий комплект
UtmCheck_src.zip (21.7 KiB, скачано: 144) — исходники на Visual C++ 2005 текущей версии
Нет обратных ссылок на эту запись.
января 23, 2009 - 23:49
Что не так?
INI:
AutoUpdate=0
UpdateTime=0
TimeShow=10
;сервер статистики
server="https://bill.8mkr.ru/cgi-bin/utm5/aaa6"
;balans="Баланс (у.е.)"
[user]
login="***************"
password="*****************"
LOG:
01/23/09 23:48:50 Ошибка 12005
01/23/09 23:48:53 Ошибка 12005
января 24, 2009 - 09:45
server=bill.8mkr.ru или ip адресс
пароль надо вводить через окно настроек, там он немного шифруется
января 24, 2009 - 10:40
Оооооо!!! курто! заработало! Курто, Леха!
Давай, еще надо бы сделать платежи через прогу...
И ваааще шикарно будет!