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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2009, 08:20   #11
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Значит ajax
Разберите все xmlhttprequest-ы, которые посылает сраница и подделывайте их
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.08.2009, 12:25   #12
Luke
Пользователь
 
Аватар для Luke
 
Регистрация: 12.10.2007
Сообщений: 32
По умолчанию

Дело в том что подделываю. Не могли бы Вы посмотреть, что и где я нетак делаю?
Si vis pacem, para bellum!
Luke вне форума Ответить с цитированием
Старый 31.08.2009, 12:57   #13
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Вопрос первый:
зачем TIdMultiPartFormDataStream ?
Цитата:
<form name="regform" action="/reg/obligatory.phtml?r1=91&i=.nextmail_ oru" method="POST" onsubmit="return validateInfo(this);">
тут такого нет
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 31.08.2009, 13:46   #14
Luke
Пользователь
 
Аватар для Luke
 
Регистрация: 12.10.2007
Сообщений: 32
По умолчанию

Переписал код, проблема не исчезла...

Код:
procedure TfMain.btnStartClick(Sender: TObject);
var
  CCode, CID, CKey: String;
  htm: string;
  i, flag: DWORD;
  req: TStringList;
  CM : TIdCookieManager;
  mem: TMemoryStream;
begin
  //Cookie manager
  CM := TidCookieManager.Create(HTTP);
  http.AllowCookies := true;
  http.CookieManager := CM;

  //First request
  req := TStringList.Create;
  http.Get('http://www.nextmail.ru');
  req.Add('name=');
  req.Add('domain=nextmail.ru');
  req.Add('x=60');
  req.Add('y=14');
  http.Request.ContentType := 'text/html';
  http.Request.Accept := 'text/html';
  mem := TMemoryStream.Create;
  log.Lines.Text := http.Post('http://nextmail.ru/reg/obligatory.phtml?r1=91&i=.', req);
  //Get capcha url
  CCode := copy(log.Lines.Text, pos('/au/code.phtml?u=', log.Lines.Text) + 17, 13);
  http.Request.ContentType := '*/*';
  http.Request.Accept := 'image/jpeg';
  //Get capcha
  http.Get('http://nextmail.ru/au/code.phtml?u=' + CCode, mem);
  mem.SaveToFile('captcha.jpeg');
  mem.Destroy;
  //Getting capcha key
  CKey := GetKey();

  http.Request.Accept := 'text/html';
  req.Add('todo=obliginfo');
  req.Add('name=klo12edsjk');
  req.Add('domain=nextmail.ru');
  req.Add('password=qwerty132');
  req.Add('pwdconf=qwerty132');
  req.Add('fullname=dfjksgfk');
  req.Add('sex=Male');
  req.Add('bday=2009-08-05');
  req.Add('regcode=' + CKey);
  req.Add('agreed=yes');
  req.Add('question=');
  req.Add('manualquest=');
  req.Add('answer=');
  req.Add('email=');
  req.Add('timezone=3');
  req.Add('antibot=6238');
  Log.lines.text := http.Post('http://nextmail.ru/reg/obligatory.phtml?r1=91&i=.nextmail_oru', req);
  log.Lines.Add(http.Request.URL);
  log.Lines.Add(http.Response.ResponseText);
  log.Lines.SaveToFile('1.html');
end;
Si vis pacem, para bellum!
Luke вне форума Ответить с цитированием
Старый 31.08.2009, 20:38   #15
euroflock
 
Регистрация: 31.08.2009
Сообщений: 3
По умолчанию

Мне бы хотелось развить эту тему, но ближе к:

Цитата:
Сообщение от Luke Посмотреть сообщение
Пишу реггер для nextmail.ru с автораспознаванием капчи.
...
//Тут распознается ключ капчи, без ошибок 100%, распознавание происходит из сохраненного файла
CKey := GetKey();
Если реализацию непосредственно автозаполнения и отправки формы можно реализовать самыми разными способами (один из самых простых и безотказных - через WebBrowser) и мнений по этому поводу может существовать большое количество, то вряд ли кто-нибудь откажется обсудить тему распознавания каптчи... на delphi.
euroflock вне форума Ответить с цитированием
Старый 01.09.2009, 19:26   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

euroflock, таких тем уже пруд-пруди
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.09.2009, 13:37   #17
Luke
Пользователь
 
Аватар для Luke
 
Регистрация: 12.10.2007
Сообщений: 32
По умолчанию

Парни, выручайте, скоро сниффер будет ночью сниться=)
Si vis pacem, para bellum!
Luke вне форума Ответить с цитированием
Старый 02.09.2009, 20:36   #18
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию

Да там через idhttp врядли, пробуй через веб браузер, мы с Фениксом думали над этим вопросом но ничего так и не вышло!
AquaKlaster вне форума Ответить с цитированием
Старый 03.09.2009, 08:19   #19
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Сделать можно все (при большом желании). Но: защититься от подобных реггеров проблемы никакой не составит. Собственно там один из вариантов присутствует: для регистрации необходимо выполнение некого js кода (не ajax-запросов, а именно ряда функций). Indy не поддерживает ( и, надеюсь, не будет) выполнение js кода. Подобное реализуемо в twebbrowser , так как там есть возможность принудительно выполнить абстрактный js код. Но даже если вам это удастся, ваша программа будет работать лишь n-кол-во дней. Малейшее изменение в дизайне, скриптах и ваша программа не работает. Именно по этой причине все реггеры, и подобные им системы изначально не состоятельны без прямой поддержки со стороны разработчиков и администраторов ресурса, на котором вы хотите регистрироваться. А при наличии такой поддержки все эти фокусы и выверты с idhttp и twebbrowser не нужны.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


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