![]() |
авторегилка фрихостов.
Есть зарубежные фрихосты, для которых бы хотелось написать авторегилку. Все вроде научился делать. Начнем с начала.
1) Нажимаю на кнопку и получаю картинку, вот код: Код:
procedure TForm1.GetImage;Поехали дальше, получив картинку и выведя ее для введения вводим и нажимаем следующую кнопку, после нажатия на которую посылаем пост запрос с нужными данными. Вот код: Код:
procedure TForm1.Button7Click(Sender: TObject);Код:
procedure TForm1.pop;Смотрим код: Код:
Вот именно в этом моменте как правило появляется проблема. Делаю так: регю мыло на гмайле, а так как не получается с него парсить, то делаю редирект на маил.ру Получаю с него сообщение. Делаю задержки и т.п. Но не всегда работает. Надеюсь выслушать предложения в этом месте. Ну пойдем дальше, получив ссылку с текста письма и выведя его в edit посылаю гет запрос с этой ссылкой. После чего второй пост запрос для завершения процесса регистрации. код: Код:
Var Data : TStrings; html : String; begin Data:=TStringList.Create; // создаем еще строки, для второго пост. Data.Add('password=123456789'); Data.Add('first_name=ALEX'); Data.Add('last_name=FAST'); Data.Add('city=Tokio'); Data.Add('province='); Data.Add('postal_code='); Data.Add('country='+'JP'); Data.Add('phone='); Data.Add('extra_domain='); Data.Add('id='+edit3.Text); Data.Add('code='+label4.Caption); // часть того гет запроса, что пришел на мыло http://www.justfree.com/register.jsp?mode=confirm_email&code=bdd29987a8a759b&id=asdf-as-detrwertwer Data.Add('mode=save_data'); http.Request.Referer:=(edit2.Text); html:=http.Post(memo1.Lines[0]+'/register.jsp', Data); Data.Free; if pos('The account has been created successfully',html)<>0 then done.Lines.Add(edit3.Text)Вроде тоже понятно, после того как все сделано хорошо, проверяем страницу на наличие заветной надписи, говорящей о создании аккаунта, и если это так, то добавляем ник в memo. Еще есть небольшая проблемка сделать циклично, не в цикле, т.к. распознавания капчи нет, а именно циклично, т.е. нужно еще поработать над ошибками так сказать, т.е. выяснить какие могут быть ошибки на странице, и как с ними бороться. Был бы благодарен за помощь и наставление на путь истинный. |
для начала сделай вывод капчи на форму
есть компоненты для работы с png |
ну она выводится, какая разница как, главное. что выводится.
|
думаю, что тут все понятно. Вот только картинку приходится выводить в браузере, т.к. png не выводится в TImage
D7, Form1.Image1.Picture.LoadFromFile('c:\cap.png'); все выводится ;) |
Чтобы не тормозить весь процесс ожиданием получения письма стоит разделить задачу на получение и распознавание капчи и проверку почты.
Тоесть после Код:
if pos('We have just sent an email at the email you entered. In order to create the account, please follow the instructions from the email',html)<>0 thenА затем, когда будет распознано уже достаточное количество капч, можно организовать получение почты в цикле. |
Цитата:
-------- Вот только картинку приходится выводить в браузере, т.к. png не выводится в TImage Ээээ где тебе такое сказали? |
Цитата:
|
ты через рор3 парсил гмайл?
|
| Время: 12:22 |