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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.07.2009, 03:50   #1
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию Регистрация почты

Здравствуйте, коллеги ! Никогда таким не занимался, поэтому хочу попробовать написать свой регистратор почты например на яндексе, мейл.ру или рамблере . . . Может у кого-то есть готовые исходники что бы их посмотреть, разобраться ? ? ? В нете искал, но ничего не нашел, если даже есть у кого-то желание можем вместе взяться и написать регистратор почты какой нибудь с открытым кодом например, а то в нете такого не встречал Я думаю не одному мне такое понадобиться А если у кого-то есть готовые наработки, поделитесь, пожалуйста ! Или подскажите как это можно реализовать Буду признателен
RIO вне форума
Старый 19.07.2009, 10:52   #2
KREGI
Форумчанин
 
Аватар для KREGI
 
Регистрация: 29.11.2008
Сообщений: 333
По умолчанию

Почитай, принцип тот же
Если помог - Весы слева
KREGI вне форума
Старый 19.07.2009, 15:14   #3
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

На примере накатал рег. на рамблере, только для первой страницы, вот он :

procedure TForm5.btn1Click(Sender: TObject);
var params,responseres:tstringlist;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
params.Add('login=dssagsagsa');
params.Add('firstname=dffdfdfd');
params.Add('lastname=fdfdfdff');
responseres.Text:=http1.Post('http://id.rambler.ru/script/newuser.cgi',params);
if Pos('dssagsagsa@rambler.ru',respons eres.Text)>0 then
ShowMessage('РЕГ ! ! !');
end;

end.

Теперь нужно заполнить вторую страницу, вытащить капчу . . .
RIO вне форума
Старый 19.07.2009, 15:29   #4
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Заполняю вторую страницу, но есть вопросы, помогите пожалуйста, ответить на них, сами вопросы в коде . . .

procedure TForm5.btn1Click(Sender: TObject);
var params,responseres:tstringlist;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
params.Add('login=dssagsagsa');
params.Add('firstname=dffdfdfd');
params.Add('lastname=fdfdfdff');
responseres.Text:=http1.Post('http://id.rambler.ru/script/newuser.cgi',params);
if Pos('dssagsagsa@rambler.ru',respons eres.Text)>0 then
begin
params.Clear;
responseres.Clear;
params.Add('password=QWERTYYY');
params.Add('password2=QWERTYYY');

{

Здесь нужно заполнить еще поля вопрос, ответ на вопрос
(Как это сделать ? ? ? Если вопрос нужно выбрать из выпадающего списка,
как это здесь должно выглядить . . .)

А потом нужно поставить чек на поле, например мужской . . .
Как это тоже сделать ?

С капчей разберемся, попозже

}

responseres.Text:=http1.Post('http://id.rambler.ru/script/newuser.cgi',params);
end;
end;
RIO вне форума
Старый 19.07.2009, 16:10   #5
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Обновление Теперь прога умеет вытягивать капчу, парни, осталось еще доделать, то что в середине кода я коментами описал, подскажите как это лучше сделать ?

А вот обновленный код :

procedure JPEGtoBMP(const FileName: TFileName);
var
jpeg: TJPEGImage;
bmp: TBitmap;
begin
jpeg := TJPEGImage.Create;
try
jpeg.CompressionQuality := 100; {Default Value}
jpeg.LoadFromFile(FileName);
bmp := TBitmap.Create;
try
bmp.Assign(jpeg);
bmp.SaveTofile(ChangeFileExt(FileNa me, '.bmp'));
finally
bmp.Free
end;
finally
jpeg.Free
end;
end;


procedure TForm5.btn1Click(Sender: TObject);
var
params,responseres:tstringlist;
f:TMemoryStream;
S, T, M, C: string;
I, J, W, P: Integer;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
params.Add('login=dssagsagsa');
params.Add('firstname=dffdfdfd');
params.Add('lastname=fdfdfdff');
responseres.Text:=http1.Post('http://id.rambler.ru/script/newuser.cgi',params);
if Pos('dssagsagsa@rambler.ru',respons eres.Text)>0 then
begin
params.Clear;

M := responseres.Text;

responseres.Clear;

params.Add('password=QWERTYYY');
params.Add('password2=QWERTYYY');

{

Здесь нужно заполнить еще поля вопрос, ответ на вопрос
(Как это сделать ? ? ? Если вопрос нужно выбрать из выпадающего списка,
как это здесь должно выглядить . . .)

А потом нужно поставить чек на поле, например мужской . . .
Как это тоже сделать ?

}


//////////// Вытягиваем капчу !!!!!!!!!!

P := Pos('/captcha/', M);
Delete(M, 1, P - 1);
for I := 1 to Length(M) do
if M[I] <> '"' then
T := T + M[I]
else
Break;
f:=TMemoryStream.Create;
http1.Get('http://id.rambler.ru' + T, f);
f.SaveToFile(GetCurrentDir + '\Captcha.JPG');
f.Free;
JPEGToBMP(GetCurrentDir + '\Captcha.JPG');
image1.Picture.LoadFromFile(GetCurr entDir + '\Captcha.BMP');
DeleteFile(GetCurrentDir + '\Captcha.JPG');
DeleteFile(GetCurrentDir + '\Captcha.BMP');

//////////// !!!!!!!!!!!!!!!!!!!!!!!

responseres.Text:=http1.Post('http://id.rambler.ru/script/newuser.cgi',params);
end;
end;
RIO вне форума
Старый 19.07.2009, 16:56   #6
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Вот накатал регер на рамблере . . . Пока он не работает, коллеги, давайте вместе разберем и сделаем его рабочим Там проблема в следующем, при регистрации на рамблере сначала пользователь заполняет первую форму, нажимает кнопку и должен еще заполнить вторую кнопку и нажать кнопку ! Программа моя работает так (не корректно) заполняет первую форму, получает HTML код от второй, тоесть первая форма заполняется корректно, а вот насчет второй . . . По идеи прога дальше должна заполнять вторую форму, код заполнение для второй формы написан, (возможно есть где-то ошибка, потому что я не уверен на 100 процентов, что все правильно) но прога после заполнение первой формы, опять заполняет первую (в том месте где она должна заполнять вторую) ! Я понимаю, что как-то нужно дать понять программе, что нужно заполнять потом вторую, но это сделать не получается, не получается из-за того, что ссылка для первой так и второй формы одинаковая . . .

А вот сама ссылка на регистрацию : http://id.rambler.ru/script/newuser.cgi
Вложения
Тип файла: rar Reg.rar (367.5 Кб, 14 просмотров)
RIO вне форума
Старый 19.07.2009, 19:12   #7
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Сравни сниффером что отправляет браузер а что прога.
Viteef вне форума
Старый 19.07.2009, 20:39   #8
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

К сожалению не умею пользоваться им
RIO вне форума
Старый 21.07.2009, 23:12   #9
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию

Поставь на FireFox плагин Tampler Data, он очень простой в использовании, и смотри пост запросы которые он отслеживает и сравнивай!
AquaKlaster вне форума
Старый 22.07.2009, 15:11   #10
RIO
Форумчанин
 
Аватар для RIO
 
Регистрация: 15.12.2007
Сообщений: 422
По умолчанию

Понял попробую
RIO вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистрация limon PHP 1 17.10.2008 10:33
Регистрация БД Gladiator БД в Delphi 1 05.06.2008 00:09
Получение почты NoName_emaNoN Win Api 0 29.11.2007 20:47