Delphi – Indy (видеоурок). Регистрация на Rambler’е
Метки: delphi, indy, rambler, регистрация Рубрика: Видеоуроки Delphi
Очередной видеоурок по Delphi. В этот раз я покажу, как с помощью Delphi и компонента Indy написать программу для регистрации почтовых ящиков через сайт Rambler.ru.
Программа будет загружать на форму капчу с сайта, а затем отправлять на сайт данные для регистрации.
А также можете почитать, как средствами Delphi авторизовываться на сайте Одноклассников.
ICQ # 14-14-351
Skype zdezbilya
Электронная сигарета купить
обратите внимание, электронная сигарета купить разумные цены!
www.e-cigarette.su
Казаны чугунные
Продаем казаны чугунные с доставкой по России.
kazan-vsem.ru

Спасибо, интересно
Помогите отобразить каптчу по етой ссылке “http://mail.zp.ua/robot_check/showcode.php?sid=8601c780e829500e880185846ba3de2e”
Zdez Bil Ya ответил:
марта 11, 2010 в 22:49
Это картинка формата jpeg.
Делайте, как рассказано в уроке, только в uses подключите модуль jpeg, и файл сохраняйте с расширением jpeg
Не работает, вот код:
S:=IdHTTP1.Get(‘http://mail.zp.ua/add.php‘);
sid:=Copy(S, Pos(‘sid’, S)+16, 32);
FS:=TFileStream.Create(‘captcha.jpeg’,FMCreate);
IdHTTP1.Get(‘http://mail.zp.ua/robot_check/showcode.php?sid='+sid+'.jpeg', FS);
FS.Free;
Image1.Picture.LoadFromFile(‘captcha.jpeg’);
В Uses jpeg уже был и результат одинаков, что я делаю не так? Может не так что понял???
Zdez Bil Ya ответил:
марта 12, 2010 в 01:06
А почему у вас +16 стоит, если отступ там в четыре символа, а не 16.
И в адресе картинки нет расширения ’.jpeg’, оно только у сохраняемой картинки:
IdHTTP1.Get(‘http://mail.zp.ua/robot_check/showcode.php?sid='+sid, FS);
Все получилось, большое спасибо!!!
Скажите как можно зарегистрироваться если нет кнопки “Submit”? а только скрипт? ‘http://mail.zp.ua/add.php
Zdez Bil Ya ответил:
марта 12, 2010 в 02:49
Кнопка или скрипт – не важно. Посмотрите снифером: просто пост-запрос на адрес ‘http://mail.zp.ua/add.post.php
Просто запросом ничего не получается:
Data:=TStringList.Create;
Data.Add(‘username=’+AddressEdit.Text);
Data.Add(‘passwd=’+PasswordEdit.Text);
Data.Add(‘passwd2=’+PasswordEdit.Text);
Data.Add(‘rname=’+NameEdit.Text);
Data.Add(‘sid=’+sid);
Data.Add(‘code=’+CaptchaEdit.Text);
S:=IdHTTP1.Post(‘http://mail.zp.ua/add.post.php', Data);
’;
if Pos(‘@mail.zp.ua’, S)0 then
begin
ResultLabel.Caption:=’ДА
Zdez Bil Ya ответил:
марта 12, 2010 в 11:49
Это последний бесплатный ответ)
Разве снифер не показывает, что нужно передавать вопрос, ответ и email?
Добавил и ничего не изменилось
Data.Add(‘question=Девичья фамилия матери’);
Data.Add(‘answer=123654′);
Data.Add(‘email=’);
Zdez Bil Ya ответил:
марта 12, 2010 в 17:32
Data.Add(‘question=Девичья+фамилия+матери’);
Data.Add(‘answer=1234321′);
Data.Add(‘email=blablabla@mail.ru’);
если будут еще вопросы – стучите лучше в icq, здесь я буду всё удалять
При нажатии получить каптчу ошибка IOHandler value is not valid.
вот код
implementation
var idkey, S:string;
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var FS:TFileStream;
begin
S:=IdHTTP1.Get(‘http://passport.yandex.ru/passport?mode=register&msg=mail‘);
idkey:=Copy(S, Pos(‘idkey’, S)+16, 32);
FS:=TFileStream.Create(‘captcha.gif’,FMCreate);
IdHTTP1.Get(‘https://passport.yandex.ru/digits?idkey='+idkey , FS);
FS.Free;
Image1.Picture.LoadFromFile(‘captcha.gif’);
end;
end.
Zdez Bil Ya ответил:
октября 10, 2010 в 21:54
В запросе протокол https. Присоедините к IdHTTP компонент IdSSLIOHandlerSocketOpenSSL
Теперь ошибка ‘Could not load SSL Library’
Zdez Bil Ya ответил:
октября 16, 2010 в 20:20
Библиотеки в “Windows/system32″ киньте
Спасибо большое.
почему выдаёт ошибку I/O Error 102
обьясните пожалуйста
Почему я не могу перехватить параметры снифером (с рамблера) ?
Zdez Bil Ya ответил:
декабря 2, 2010 в 20:04
Не знаю
А ты еще ВидеоУроки будеш выкладывать?
Zdez Bil Ya ответил:
декабря 2, 2010 в 20:16
да
а как правильно парсить если скажем в коде страницы одинаковые параметры и два разных значения?Например:
Имя
<input name="x_e61b35b29b882a0e"
Фамилия
<input name="x_8d392d955392d516"
как видите они почти одинаковые но тока слово имя или фамилия разные!
надо спарсить два значения name=
как написать правильно код на второе значение если на первое он так:
name:=Pars('<input name="',S,'"');
ООчень надо пожалста помогите кто по опытней!
Zdez Bil Ya ответил:
декабря 30, 2010 в 03:30
Парсите первое, удаляете, парсите второе
Помогите пожалуйста! У меня не парсится hash вконтакте, что не так?
Код:
S:=IdHTTP1.Get(’http://http://vkontakte.ru/’);
hash:=Copy(S, Pos(’hash’, S)+4, 18);
Нашёл решение
Огромное спасибо вам за видеоуроки!
А я сталкнулся с проблемой
Хотел сделать регистратор на одном из сайтов, но там регистрация проходит на Java скриптах.
Можно ли сделать регистратор в таком случае ???
Если можно, снимите видеоурок как такое сделать.
Заранее спасибо!
Zdez Bil Ya ответил:
января 18, 2011 в 23:13
Разницы никакой нет. Включаете снифер и смотрите запросы
Отследил такую штуку
action[0]=AuthExt.logon&username[0]=Мой логин&password[0]=Мой пароль&remember[0]=1
Но что дальше делать с этим не знаю, и в какой момент происходит проверка не знаю.
Zdez Bil Ya ответил:
января 18, 2011 в 23:51
Это параметры запроса. Отсылаете, приходит ответ, анализируете его
A можно по подробнее на примере вот этого форума ? _http://blackstar.clanbb.ru/
Zdez Bil Ya ответил:
января 19, 2011 в 14:26
Пример дан в видеоуроке.
“Пример дан в видеоуроке”.
Нет в видеоуроке и намёка как работать с java скриптами.
Там показана только работа с Html кодом.
Поэтому вопрос остаётся в силе!
Zdez Bil Ya ответил:
января 19, 2011 в 22:36
Я вам сказал, что никакой разницы нет. Браузер с сервером общаются запросами и ответами. Снифер всё это показывает
А из за чего может быть ошибка при компиляции.
property maxlineaction does not exist
Zdez Bil Ya ответил:
августа 13, 2011 в 03:28
Вы уверены, что это при компиляции ошибка? Скорее всего при открытии проекта. Просто игнорируйте
Zdez Bil Ya ответил:
августа 13, 2011 в 03:28
Вы уверены, что при компиляции? Скорее всего при открытии проекта. Просто игнорируйте
Что-то не проходит. Выдаёт ошибку. Собственно код, помогите найти то, что не даёт пройти регистрацию.
procedure TForm1.Button2Click(Sender: TObject);
var
Data:TStringList;
begin
Data:=TStringlist.Create;
Data. Add(‘skin=id’);
Data.Add(‘uniq_id=’+uniq_id);
Data.Add(‘action=register’);
Data.Add(‘user.fname=’+Edit1.Text);
Data.Add(‘user.Lname=’+Edit2.Text);
if RadioButton1.Checked then
Data.Add(‘user.gender=1′)
else
Data.Add(‘user.gender=2′);
Data.Add(‘user.bday’+Edit3.Text);
Data.Add(‘user.bmonth’+Edit4.Text);
Data.Add(‘user.byear’+Edit5.Text);
Data.Add(‘user.login=’+Edit6.Text);
Data.Add(‘user.domain=’+comboBox1.Text);
Data.Add(‘user.password1=’+Edit7.Text);
Data.Add(‘user.password2=’+Edit7.Text);
Data.Add(‘user.question=’+combobox2.Text);
Data.Add(‘user.answer=’+Edit8.Text);
Data.Add(‘user.Captcha=’+Edit9.Text);
S:=idhttp1.Post(‘http://id.rambler.ru/script/newuser.cgi',Data);
if pos(‘logout’,S)0 then
Memo1.Lines.Add(‘Регистрация успешно завершена!’)
else
Memo1.Lines.Add(‘This is FAIL! Произошла ошибка!’);
var
Form1: TForm1;
implementation
var uniq_id, S:string;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var FS:TFileStream;
begin
S:=IdHTTP1.Get(‘http://id.rambler.ru/script/newuser.cgi‘);
uniq_id:=Copy(S, Pos(‘uniq_id’, S)+16, 32);
FS:TFileStream.Create(‘captcha.jpg’,FMCcreate);
idHTTP1.Get(‘http://id.rambler.ru/captcha/'+uniq_id+'.jpg', FS);
FS.Free;
Image1.Picture.LoadFromFile(‘captcha.jpg’);
end;
Вот код для получения капчи на рамблере,но ошибка вот в это
S:=IdHTTP1.Get(‘http://id.rambler.ru/script/newuser.cgi‘);
Программа сломалась! Не хочет регать акки! В чём может быть проблема?
Каптча получается нормально!
Zdez Bil Ya ответил:
марта 23, 2011 в 01:46
Это не полноценная программа. Это всего лишь демо к уроку. Скорее всего что-то поменяли в регистрации.
Молочдчик, если это делал еще ты ты ахуенна! от души молодчик!
Спасибо за урок дружище! Реально полезное дело делаешь.
Я тока не понял а как куки проверяются? В проекте о них ни слова, а снифак четко в строке показывает чеккуки
Имхо, для затравки урок – самое оно! Но тема вроде не полностью раскрыта… м?