Гугл опять что-то меняет. Никак не могу написать регалку для сабжевого мыла. Копирую заголовки один в один с браузера, приходит назад такая же заполненная страница и всё тут. Спалите кто-нибудь рабочий вариант.
Логика регистрации сейчас простая. Идем на http://mail.google.com/mail/signup включая handleredirects, сохраняем последний урл для поста, показываем капчу, беря ее адрес с html кода страницы, она будет выглядеть типа так: Капча
Далее отправляем post запрос с такими полями:
Sdata:=Sdata+'type=2';
Sdata:=Sdata+'&loc=RU';
Sdata:=Sdata+'&dsh='+GetField(html, 'dsh');
Sdata:=Sdata+'&ktl=';
Sdata:=Sdata+'&ktf=';
Sdata:=Sdata+'&FirstName='+GenAccount;
Sdata:=Sdata+'&LastName='+GenAccount;
Sdata:=Sdata+'&UsernameSelector=header';
Sdata:=Sdata+'&Email='+GenAccount;
Sdata:=Sdata+'&edk=gmail.com';
p:=GenPassword;
Sdata:=Sdata+'&Passwd='+p;
Sdata:=Sdata+'&PasswdAgain='+p;
Sdata:=Sdata+'&PersistentCookie=no';
Sdata:=Sdata+'&rmShown=1';
Sdata:=Sdata+'&smhck=1';
Sdata:=Sdata+'&nshk=1';
Sdata:=Sdata+'&selection=ownquestion';
Sdata:=Sdata+'&ownquestion='+GenAccount;
Sdata:=Sdata+'&IdentityAnswer='+GenPassword;
Sdata:=Sdata+'&SecondaryEmail=';
Sdata:=Sdata+'&newaccounttoken='+GetField(html, 'newaccounttoken');
Sdata:=Sdata+'&newaccounturl='+httpencode(GetField(html, 'newaccounturl'));
Sdata:=Sdata+'&newaccounttoken_audio='+GetField(html, 'newaccounttoken_audio');
Sdata:=Sdata+'&newaccounturl_audio='+httpencode(GetField(html, 'newaccounturl_audio'));
Sdata:=Sdata+'&newaccountcaptcha='+Edit1.Text;
Sdata:=Sdata+'&program_policy_url='+httpencode('http://mail.google.com/mail/help/intl/ru/program_policies.html');
Sdata:=Sdata+'&privacy_policy_url='+httpencode('http://www.google.com/intl/ru/privacy.html');
Sdata:=Sdata+'&requested_tos_location=undefined';
Sdata:=Sdata+'&requested_tos_language=ru';
Sdata:=Sdata+'&served_tos_location=RU';
Sdata:=Sdata+'&served_tos_language=ru';
Sdata:=Sdata+'&submitbutton=I+accept.+Create+my+account.';
Не забываем указать рефер и заголовки как отдает браузер. Вообщем все это не дает желаемого результата.
P.S. Да уж, с LiveWriter код нормально не опубликовать, сцуко.

{ 1 trackback }
{ 17 comments… read them below or add one }
Хм. А когда капчу запрашиваешь - какие параметры передаешь?.. куки, и т.д. и т.п.?.. все учитывается?
и браузер когда грузит страницу основную - не получает ли случаем паралельно какие-нить куки, при загрузке яваскриптов например?..
И еще, яваскриптом - не удаляются ли какие-нить куки, выставленные при загрузке страницы?..
да с теме же куками и теме же хидерами, что получали страницу - получаем и капчу
яваскрипты дополнительные не нужны - их не грузим. там только грузится на чек доступного имени, но оно нафиг не надо - без него руками регится.
Кстати, “показываем капчу” - это как это? Просто, в сгенеренную хтмл страницу, прописываешь имг срц=гугел.ком/аккаунтс/блабла ? так чтоли?
Если так, то я не удивлен, что ничего не будет работать…
Про капчу понятно.
Только я в первом коменте имел ввиду что:
Браузер:
1. грузим страницу.
2. получаем куки в хттп ответе.
3. получаем куки в яваскриптом. (возможно).
4. грузим сторонние яваскрипты, паралельно - в хттп ответе - могут соваться куки.
5. могут удаляться…
а, ну и еще. Если это курл - то настоятельно рекомендую включить verbose, и проверить в логах, что именно отправляется, какие хедеры по крайней мере… потому что курл сука, любит вставлять всякую херню, ненужную в хедеры…
Какой еще такой курл ))
я еще раз говорю уходит также все один в один как и руками браузером.
Мистико.
Тут мы не теорией занимаемся
А решаем практические задачи.
Возьми проснифь браузер, многие вопросы отпадут.
Ну, пока необходимости снифать браузер на предмет регистрации гмыл - нет особой.. Но вот опыт снифать и создавать скриптовые “браузеры” - достаточно большой… поэтому так и написал слету.
Кстати. А попробуй проверить софт на плагине Bad Behaviour. Возможно там и увидишь какой-нить косяк…
я не пишу на PHP
И это..
Не пробовал, запрос с уже заполненой капчей - отправлять через минуту например после получения картинки капчи?..
Ибо, ну нереально заполнить ту форму за пару секунд…
Говоря про Bad Behaviour - я не имел ввиду писать на пхп.
Это плагин для вордпресса в частности того же. Тоесть, попробуй позаполнять формы своим софтом на вордпрессе, с этим плагином..
ну руками я быстро заполнял - не более 10 секунд - тут что-то другое
Возможно.
Вобщем, я бы делал так:
1. увеличил паузу в отправке формы, следил бы за экспайрами куки, и параметрами - есть же куки которые только по хттпс уходят…
2. Сделал бы тестовый запрос на свой сервер, проверить что именно приходит с постом. особенно хедеры..
3. более детально искал бы различия в отправляемых данных. Вплоть до того, что дернул бы всю страницу, с картинками, яваскриптами и прочим, и посмотрел бы за заголовками.
Удачи!
Надеюсь, что смог натолкнуть на мысль.
на Делфях пишешь?
как по мне то нужно имитировать браузер максимально, даже если не хочется тянуть яваскрипты и картинки, все равно тянуть все как браузер и с соответствующими заголовками.
ну и как сказал выше Mmmm - паузы, может сейчас они на это внимания и не обращают, но перестраховаться на будущее стоит.
Я в ближайшие пару дней постараюсь свои эксперименты провести и отписаться.
Ну и главное помнить: нет ничего невозможного
Как и говорил я - это лишнее, причины написаны вчера в посте )
Попробуй еще отправлять запросы, на загрузку картинок и js файлов… скорее всего есть какой-нибудь javascript сценарий, который должен выполниться… или картинка, которая должна обязательно подгрузиться!
Очень интересно
karimnazaroff@gmail.com
Получилось? Тоже мучаюсь не первый день, не могу найти подводный камень (
Leave a Comment