Бывает что необходимо быстро получить информацию о балансе, в таких ссылочных биржах как gogetlinks или например rotapost. Как это реализовать программно на delphi сейчас я и покажу. Благо недавно писал для одного человека программу, которая собирает инфу с gogetlinks, качает отчёт о заработке и выводит всё в удобной форме в виде графика и т.п..
Прежде всего, что-бы например получить баланс в той или иной бирже, необходимо авторизоватся, просто так вам никто о балансе не сообщит, посему, нужен логин и пароль на вход. Допустим мы хотим получить некие данные со своего аккаунта. Приступим, начнём с авторизации на gogetlinks.
Для начала объявляем переменную ‘ts’ типа tstringlist, в которой будут содержатся передаваемые данные, такие как логин (емейл)/пароль, несколько переменных (назовём их str, str2 и balance) типа string, потом пригодятся и кидаем на форму компонент idhttp с вкладки ‘Indy Clients’
var ts:tstringlist; str, str2:string; begin
Дальше идёт указание всех наших данных на вход, в параметрах:
- ‘Parametr‘ — тут необходимо передать значение ‘Name’
- ‘e_mail‘ — емейл от аккаунта
- ‘password‘ — пароль от аккаунта
- ‘remember‘ — запомнить или нет, будем использовать ‘on’ (запомнить)
ts:=tstringlist.create(); ts.add('Parameter=Name'); ts.add('e_mail=yourmail@domen.ru'); ts.add('password=yourpass'); ts.add('remember=on');
Про то, как получать необходимые данные я уже писал на блоге, все данные получены путём сниффинга, советую ознакомится если в планах написание всяких регеров, постилок и т.п. =)
Так ну ладно, дальше нам необходимо отправить всё это дело на gogetlinks, то есть авторизоваться в системе.
Ваяем примерно следующий код
form1.idhttp1.Post('http://gogetlinks.net/login.php',ts);
тут мы просто отсылаем все данные из ts в виде POST данных скрипту ‘login.php’, который собственно и производит авторизацию пользователей в системе. Дальше необходимо запилить реферер, делается это так
form1.idhttp1.Request.Referer:='http://gogetlinks.net/login.php';
и сделать GET запрос к ‘my_campaigns.php’ (честно говоря, уже не припомню зачем, но видимо надо)
try form1.idhttp1.get('http://gogetlinks.net/my_campaigns.php'); except end;
Если данные на вход верны, то мы успешно авторизуемся в gogetlinks.net.
Теперь небольшой пример получения информации по аккаунту, речь идёт про баланс, попробуем его получить.
Кидаем на форму компонент ‘memo’ с вкладки ‘Standart’ и делаем простой гет запрос
form1.memo1.lines.text:=form1.idhttp1.get('http://gogetlinks.net/my_sites.php');
Дальше парсим текущий, доступный баланc
z:=pos('доступно</label>: ', form1.memo1.lines.text)+18; z2:=posex('</div>',form1.memo1.lines.text,z) - z; z2:=z2-z; balance:=copy(form1.memo1.lines.text,z,z2); form1.label4.caption:='Баланс: '+balance;
Теперь переменная balance содержим баланс, выводим инфу
label1.caption:='Баланс: '+balance;
Вот в принципе и всё, теперь можно без проблем написать брут чекалку аккаунтов на баланс или, например, получить отчёт из системы, как это сделал я в своей программе SEObudget
К слову говоря, если вам потребуются профили рулонных ворот то вы можете обратится к компании ООО ‘Дизайн дома’ которая ремонтирует и обслуживает гаражные и уличные рулонные ворота из алюминия и стали.