Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Получение капчи и дальнейшее использование


Автор: Rakim4ik 17.7.2014, 03:08
Уже часов 5 себе мозг "имею".
Как получить капчу на регистрацию отсюда : http://money-birds.com/signup ?
Вот что последнее пробовал : 

Код
html:=HTTP.Get('http://money-birds.com/signup');
Delete(html,1,pos('<img src="/captcha.php?rnd=',html)+length('<img src="/captcha.php?rnd='));
Delete(html,pos('"',html),length(html));

stream:=tmemorystream.create;
http.get('http://money-birds.com/captcha.php?rnd='+html,stream);
stream.savetofile('D:\1.png');
stream.free;
image1.picture.loadfromfile('D:\1.png');


Вылетала ошибка : user posted image

Помогите, пожалуйста 

P.S. И если не сложно, то приведите пример отправки запроса на регистрацию с полученной капчей. А то при каждом новом запросе она же меняется, а я не в куриваю как по другому делать )

Автор: Rakim4ik 17.7.2014, 07:37
С куками капча забирается...

Код
http.Request.Host:='money-birds.com';
http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
http.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36';
http.Request.Referer:='http://money-birds.com/signup';
http.Request.AcceptEncoding:='gzip,deflate,sdch';
http.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
http.request.customheaders.add('Cookie: PHPSESSID=hp7nv8p81gipe4i99iaj11ag25');
html:=HTTP.Get('http://money-birds.com/signup');
Delete(html,1,pos('<img src="/captcha.php?rnd=',html)+length('<img src="/captcha.php?rnd='));
Delete(html,pos('"',html),length(html));

stream:=tmemorystream.create;
http.get('http://money-birds.com/captcha.php?rnd='+html,stream);
stream.savetofile('D:\1.png');
stream.free;
image1.picture.loadfromfile('D:\1.png');


Как теперь её отправить ? Ведь при следующем запросе капча будет другой и сайт мою не примет.

Автор: Illusion Dolphin 25.7.2014, 16:37
Значение капчи сохраняется обычно в сессию, которая зависит от куки. Так что делайте ещё один запрос от той же сессии и указывайте 2 параметра постом:
captcha    [числа на картинке]
email    [мэйл]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)