В предыдущих записях, я познакомил вас с моим творением ( ну натворил то...), под названием UеmCheck. Было это давно, многое изменилось. А программа осталась практически на той же стадии.
Написал я её до версии 0.9.2 , а провайдер решил в это время сменить версию билинга. Менял он медленно, в начале в одном районе , потом в другом. До моего района дошло только через год. И так это меня расстроило ( вру, лень было), что бросил я программу до лучших времен. И вот таки в моем районе стоит новый билинг, и судя по всему в нем уже нельзя что то менять по своему усмотрению в интерфейсе (дает надежду на простое решение). Видимо пришло время её дорабатывать.
Сделаем пока первый "костыль" для старой версии - показ остатка на счету.
Приглядевшись к новому билингу замечаем
Определившись с нововведениями, начнем править код. Нужно изменить следующее:
в файле UtmCheck.cpp строку
Теперь компилируем, и в итоге получаем рабочий вариант для UTM 5 версии.
UtmCheck_src0.9.3.zip - текущий рабочий комплект
UtmCheck_src.zip - исходники на Visual C++ 2005 текущей версии
Написал я её до версии 0.9.2 , а провайдер решил в это время сменить версию билинга. Менял он медленно, в начале в одном районе , потом в другом. До моего района дошло только через год. И так это меня расстроило ( вру, лень было), что бросил я программу до лучших времен. И вот таки в моем районе стоит новый билинг, и судя по всему в нем уже нельзя что то менять по своему усмотрению в интерфейсе (дает надежду на простое решение). Видимо пришло время её дорабатывать.
Сделаем пока первый "костыль" для старой версии - показ остатка на счету.
Приглядевшись к новому билингу замечаем
- Вход в билинг осуществляется через другой адрес. Раньше было https://server/cgi-bin/utm/aaa , а сейчас https://server/cgi-bin/utm5/aaa6 . ( хотя это у меня в районе только, в других aaa5, но мы "костыль" пишем)
- Вход происходит в один переход, т.е. ввели логин и пароль и мы уже на странице статистики (раньше было 2 перехода)
- На форме ввода логина и пароля изменилось значение скрытого параметра cmd
- Страница билинга сделана в формате UTF. А это в начале ставит в тупик - получается надо строки обрабатывать в UTF, соответственно другие функции и тому подобное. А глядя на перемешку TCHAR и CHAR в коде, становится уныло. Но ведь любой UTF представим в нашей кодировке тоже, но "корявыми" символами. А они как раз умещаются в тип CHAR. Таким образом искомая нами строка будет
Баланс основного счета</TD><TD class=\"utm-table\" align=\"left\">
Только вот в строке есть переход на новую строку. Т.к. вся система рассчитана на nix системы, то код символа перехода строки "x0A". - В нашем городе нету тарифов с предоплаченным трафиком, так что это мы обновлять не будем - протестировать не начем.
Определившись с нововведениями, начнем править код. Нужно изменить следующее:
в файле UtmCheck.cpp строку
GetPrivateProfileString(_T("Settings"),_T("balans"),_T("Баланс (руб.)</TD><TD width=50% bgcolor=#FFFFFF>"),меняем на GetPrivateProfileString(_T("Settings"),_T("balans"),_T("Баланс РѕСЃРЅРѕРІРЅРѕРіРѕ счета</TD>\x0A<TD class=\"utm-table\" align=\"left\">"),в файле inet.cpp строку const char* FirstPage="/cgi-bin/utm/aaa";меняем на
const char* FirstPage="/cgi-bin/utm5/aaa6 ";( пробела между 6 и " нету, проблема с отображением)
strcat(param,"&cmd=user_verify");меняем на
strcat(param,"&cmd=login");блок
if (!GetTextFromPage(strs,FistTagLink,LastTagLink,buffer))
{
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 - текущий рабочий комплект
UtmCheck_src.zip - исходники на Visual C++ 2005 текущей версии
server=bill.8mkr.ru или ip адресс
ОтветитьУдалитьпароль надо вводить через окно настроек, там он немного шифруется
Оооооо!!! курто! заработало! Курто, Леха!
ОтветитьУдалитьДавай, еще надо бы сделать платежи через прогу....
И ваааще шикарно будет!
05/26/11 09:49:12 Ошибка 12045
ОтветитьУдалитьв чем проблема?
в том, что страница биллинга изменилась, и программа уже не работает
ОтветитьУдалить