Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2009, 17:57   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию INDY. Как отловить окошки JS?

Например, как логиниться на сайтах ucoz, как узнать что появилась JS-форма
TwiX вне форума Ответить с цитированием
Старый 26.11.2009, 20:28   #2
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Посмотрите снифером, что куда отправляется и что в ответе.
Например на soft.ucoz.ru снифер при попытке логина показывает POST-запрос на адрес _http://soft.ucoz.ru/index/sub/.
Его параметры:
Код:
user            qwerty    
password        pass    
rem             1      
a               2      
ajax            1      
rnd             313
И в ответе:
Цитата:
<?xml version="1.0" encoding="UTF-8"?><ajax><cmd p="innerHTML" t="blk549313"><![CDATA[<div align="left" style="padding:10px;"><div class="myWinLoadSF" title="Неправильный логин или пароль"></div></div>]]></cmd><cmd p="js"><![CDATA[_uWnd.alert('<div style="margin-top:15px" class="myWinError">Неправильный логин или пароль</div>','',{w:250,h:90,tm:3000});setT imeout("$('#blk549313').css('displa y','none');",'1500')]]></cmd></ajax>
Voody вне форума Ответить с цитированием
Старый 26.11.2009, 21:04   #3
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Это ясно, но как получить текст с появившегося окна. Например, когда там капча.
TwiX вне форума Ответить с цитированием
Старый 26.11.2009, 21:26   #4
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

А можно пример сайта, чтобы на примере посмотреть))

Текст приходит в ответе на запрос, а капчу вводить вручную или через антикапчу распознавать
Voody вне форума Ответить с цитированием
Старый 26.11.2009, 23:10   #5
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Например, вконтакте. Если слишком часто отправлять сообщения, то иногда появляется окошко, на котором нарисована капча. А распознаватель я как-то раз уже писал.
TwiX вне форума Ответить с цитированием
Старый 26.11.2009, 23:33   #6
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Вконтакте:
POST-запрос на _http://vkontakte.ru/login.php
если ответ вида:
Код:
{"ok":-2,"captcha_sid":"515579566937","text":"Enter code"}
значит вылезла капча с адресом _http://vkontakte.ru/captcha.php?s=1&sid=339709239229
а если параметры верны, то перенаправляет на соответствующую страницу
Voody вне форума Ответить с цитированием
Старый 27.11.2009, 01:03   #7
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Как получить ответ? Так?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  html: TStringStream;
  params: TStringList;
begin
  html:= TStringStream.Create('');
  params:= TStringList.Create;
  params.add('email=twix@gmail.com');
  params.add('pass=123456789');
  params.add('expire=');
  params.add('vk=');
  HTTP.Post('http://vkontakte.ru/login.php', params, html);
  memo1.Clear;
  memo1.Text:=html.DataString; // результат запроса
  html.Free;
  params.free;
end;
Не понимаю, что Вы имеете в виду. Т.е. если я буду кликать на button1, то когда в memo1 у меня будет появляться
Код:
{"ok":-2,"captcha_sid":"515579566937","text":"Enter code"}
?
TwiX вне форума Ответить с цитированием
Старый 27.11.2009, 02:00   #8
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Сначала идет запрос на _http://vkontakte.ru/login.php с параметром "op=a_login_attempt". Если ответ "vklogin", значит капчи нет и делаем запрос на _http://login.vk.com/ с параметрами:
Код:
  params.add('act=login');
  params.add('try_to_login=1');
  params.add('email=twix@gmail.com');
  params.add('pass=123456789');
А вот если ответ на первый запрос вида
Код:
{"ok":-2,"captcha_sid":"994193102206","text":"Enter code"}
значит вылезла капча
Voody вне форума Ответить с цитированием
Старый 27.11.2009, 15:25   #9
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

Ещё раз. Что в Вашем понимании "ответ"? То, что забъётся в stream в результате post'a?
Откуда Взялся параметр "op". В снифере его нет, но на странице есть.
TwiX вне форума Ответить с цитированием
Старый 27.11.2009, 15:56   #10
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Цитата:
Сообщение от TwiX Посмотреть сообщение
Что в Вашем понимании "ответ"? То, что забъётся в stream в результате post'a?
"ответ" в моем понимании - это сообщение сервера на определенный запрос))
да, то, "что забъётся в stream в результате post'a"
Цитата:
Сообщение от TwiX Посмотреть сообщение
Откуда Взялся параметр "op". В снифере его нет, но на странице есть.
да, если смотреть параметры запроса, то там этого нет. а вот если посмотреть "Raw Stream" (не знаю, как точно перевести), то там он есть
Voody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11
Как сделать липкие окошки??? lionman Общие вопросы Delphi 1 07.11.2008 20:53
Как отловить значение из таблицы? mik Microsoft Office Excel 5 27.10.2008 16:34
Как отловить ошибку в своей проге ??? Crazyman Win Api 8 02.09.2008 09:24
Как отловить имена таблиц? mik Microsoft Office Excel 1 18.11.2007 17:02