Привет, пытаюсь написать автореггер для urban-rivals.com вот мой POST запрос: Http := TIdHTTP.Create(Self); Data := TStringList.Create; Http.AllowCookies := true; Http.HandleRedirects := true; Http.Request.Host:='www.urban-rivals.com'; Http.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1'; Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; Http.Request.Referer:='http://www.urban-rivals.com/ru/player/signup.php'; Data.Add('action=subscribe'); Data.Add('timezone=-3'); Data.Add('country=ru'); Data.Add('email=мыло'); Data.Add('login=логин'); Data.Add('password=мойпароль'); Data.Add('userdigit='+edt1.text); //тут капча, получаю ее и вводу в edt1.text Data.Add('newsletter=false'); Data.Add('cgv=yes'); Data.Add('sponsor='); Data.Add('promocode='); s := Http.Post('http://www.urban-rivals.com/ru/player/signup.php',data); пост запрос отправляю, а аккаунт не регистрируется.
Проснифал, вот что отвечает: Response Headers Value (Status-Line) HTTP/1.1 200 OK Server Apache/2.2.22 (Ubuntu) Vary Accept-Encoding Cache-control max-age=0, no-cache, no-store Content-Type text/html; charset=UTF-8 P3P policyref="/w3c/p3p.xml" Date Thu, 13 Dec 2012 13:51:18 GMT Expires Wed, 12 Dec 2012 13:51:18 GMT Pragma no-cache Content-Language ru Connection close Set-Cookie locale=ru; expires=Tue, 12-Dec-2017 13:51:18 GMT; path=/ Set-Cookie UR_SESSID=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/ Set-Cookie ur_auto_id=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/ Set-Cookie ur_auto_pass=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
http://rghost.ru/42215511 Вот исходник. Не знаю уже что делать, 2-ой день мучаюсь( Вроде запрос правильный.
во еще что нашел при сниффе программы 1005 Functional The PRG (POST-REDIRECT-GET) pattern was not used and may cause certain duplicate form submissions and affect the use of the browser's back button. Return a 3xx redirect instead of a 200 Ok response. http://en.wikipedia.org/wiki/Post/Redirect/Get 1 2001 Performance Use HTTP compression to compress textual content transferred from web servers to browsers for faster Downloads 1 2005 Performance A "Connection: close" response header stops the use of keep-alive connections. Using keep-alive connections is very important for improving HTTP performance. It may create less network traffic and reduce latency on subsequent request due to avoidance of initial TCP connection set up. 1 3004 Security The HttpOnly flag was not set on the "locale;UR_SESSID;ur_auto_id;ur_auto_pass" cookie. Using the HttpOnly flag when generating a cookie helps mitigate the risk of client side script accessing the protected cookie. It causes the attack to fail by preventing the malicious (usually XSS) code. 1
Так так на регистрации стоит капча, то у нее как минимум должна быть кукиса либо какой-то sid, номер или что-то подобное. Помимо символов с картинки капчи, скрипту вместе с твоими данными нужно передать кукису капчи или ее sid, чтобы скрипт собственно смог определить правильно ты ввел символы или нет. То есть сейчас ты передаешь серверу данные без кукисы капчи и сервер не понимает какая именно картинка у тебя загрузилась чтобы проверить, после чего посылает тебя попробовать попытку регистрации заново.