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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2009, 11:07   #1
shellmd5
 
Регистрация: 29.11.2009
Сообщений: 3
По умолчанию полу авт голосование

Решил написать программкудля полу авт голосования на l2top (для своего развития а не для накрутки тк на l2 давно забил)
Но столкнулся с проблемай с куками)
запрос страницы сделать не составило труда
Код:
pref:=Ed2.text;
nam:=Ed1.text;
List:=IdHTTP1.Get('http://l2top.ru/vote/'+nam+'/?prefix='+pref);
//Получили текст страници в List.text
ListFIN:='/getimg.php?';//поиск капчи по тексту
 k:=pos(ListFIN,List)+length(ListFIN);
  while List[k] <>'''' do
   begin
    link:=link+List[k];
    k:=k+1;
   end;
link:='http://l2top.ru/getimg.php?'+link;//нашли
Stream:=TMemoryStream.Create;
 IdHTTP1.Get(link,Stream); //грузим капчу в поток.
 Stream.Position:=0;
 JPEG:=TJPEGImage.Create;   //создаем jpeg
 JPEG.LoadFromStream(Stream);
 Image1.Picture.Assign(JPEG);//выводим в Image
Как я понил там проверка куков идет ток я не могу понять она идет на уровне запроса или на уровне отсылки тк если проголосовать и попытатся еще раз (сменив IP) то выдает что голосовали (а в куках появляется записи (появляэтся сразу после голосования))

отсылку я организовал так)
Код:
Stream:=TMemoryStream.Create;
ParamList:=TStringList.Create;
 ParamList.Add('referer=%3F');
 ParamList.Add('sec_referer=4b30c013d9042c579ca3f67b0980132c0568ae8b');
 ParamList.Add('voteOk=ok');
 ParamList.Add('c0c36f5a='+Captcha.Text);
 ParamList.Add('name='+Nik.Text);
 ParamList.Add('prefID=1345');
 ParamList.Add('');
{with IdHTTP1.Request do
 begin
  URL:='http://l2top.ru/vote/'+nam+'/';
  Host:='l2top.ru';
  UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)';
  Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
  AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
  AcceptEncoding:='gzip,deflate';
  AcceptCharset:='windows-1251,utf-8;q=0.7,*;q=0.7';
  Connection:='keep-alive';
  Referer:='http://l2top.ru/vote/'+nam+'/?prefix='+pref;
в отсылке pos есть еще вот это
//  Cookies:='__utmz=173254270.1260338083.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=173254270.1630098338.1260338083.1260348375.1260348458.4; l2x=c45bbd546b7fb9710ef4834ce3cb8f61d8d167c3; amm=1';
  ContentLength:=Length(ParamList.Text);
  ContentType:='application/x-www-form-urlencoded';
 end;}
IdHTTP1.Post('http://l2top.ru/vote/3118/',ParamList,Stream);
//поидее если я понимаю то в стреам будит находится ответ
Stream.SaveToFile('C:\1.html');
Помогите разобратся как реализовать передачу кукис и если есть что не правильное подскажите
shellmd5 вне форума Ответить с цитированием
Старый 15.12.2009, 15:30   #2
AquaKlaster
Delphi,Python,PHP
Форумчанин
 
Аватар для AquaKlaster
 
Регистрация: 04.04.2009
Сообщений: 138
По умолчанию

IdCookieManager подключи к IdHTTP
И куки будут приниматся и отправлятся автоматически
AquaKlaster вне форума Ответить с цитированием
Старый 15.12.2009, 15:44   #3
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

Думаю это идея выгорит. Ибо тоже просили сделать автоголосовалку для этого сервиса. В общем-то сделал, но там голос засчитывается только после второго голосования. Т.е. надо делать запрос на голосование, потом сохранять выданные куки и только через сутки можно с этими куками проголосовать, чтобы голос засчитали. Следовательно эти куки надо хранить, а потом записывать и голосовать. Геморрой короче. Еще если прокси прикручивать для накрутки.
P.S. думаю, что для "своего развития" слишком неподходящий вариант
Voody вне форума Ответить с цитированием
Старый 15.12.2009, 15:46   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

чую скоро пора будет предупреждения за подобные темы выдавать...
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 15.12.2009, 16:20   #5
shellmd5
 
Регистрация: 29.11.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Voody Посмотреть сообщение
P.S. думаю, что для "своего развития" слишком неподходящий вариант
Ну попытатся надо было же)
Цитата:
чую скоро пора будет предупреждения за подобные темы выдавать...
яж не чего не нарушал и не просил что либо сломать а только подсказать как осуществить передачу куков)
а если я всеже напишу программку то в паблик она не пойдет тк играть надо чесно.

Потеме завтра напишу что получилось)
shellmd5 вне форума Ответить с цитированием
Старый 15.12.2009, 17:55   #6
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

Код:
IdHTTP.Request.CustomHeaders.Clear;
IdHTTP.Request.CustomHeaders.Add('Cookie: eewfwefwefwefwefwef');
Usov вне форума Ответить с цитированием
Старый 16.12.2009, 12:04   #7
shellmd5
 
Регистрация: 29.11.2009
Сообщений: 3
По умолчанию

Нашел уже готовую программу для голосования проснифил траф вот что получилось
Код:
GET /vote/(Номар)/?prefix=() HTTP/1.1
Accept-Encoding: 
Host: l2top.ru
Cookie: l2top_cookie=MTI2MDxzNjg5NjAxMTY5MzUyMDc5MTcwMDA4NTIyMzE2MzcwMTEyNjY5Mjk4NDg3MTE2NjY1YjU4ZTFjMjBkMjYyZTMxOGEyOGViNTA3YmVhYTk3MzFlNDI%3D
Connection: Keep-Alive
на это серв ответил вот так)
Код:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 16 Dec 2009 08:57:47 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=20
Set-Cookie: l2x=d521558ef399d31f03b1d17405fe83eca87e5235; path=/; domain=l2top.ru; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: amm=1; expires=Wed, 16-Dec-2009 20:57:47 GMT; path=/; domain=l2top.ru

5460
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
        <title>L2TOP.ru (binary data)
терь программа запросила капчу
Код:
GET /getimg.php?1164511465 HTTP/1.1
Host: l2top.ru
Cookie: l2top_cookie=MTI2MDxzNjg5NjAxMTY5MzUyMDc5MTcwMDA4NTIyMzE2MzcwMTEyNjY5Mjk4NDg3MTE2NjY1YjU4ZTFjMjBkMjYyZTMxOGEyOGViNTA3YmVhYTk3MzFlNDI%3D; l2x=d521558ef399d31f03b1d17405fe83eca87e5235
и в ответ на это получил
Код:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 16 Dec 2009 08:57:49 GMT
Content-Type: image/jpeg
Connection: keep-alive
Keep-Alive: timeout=20
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Content-Length: 2592
мояже программа все это пытается делать настолько коряво что я хз
Сижу правлю смотрю что я намудрил

Так же и не допедрил как в этой программе передаются куки
shellmd5 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы A_ALL Microsoft Office Access 7 24.08.2009 21:13
Голосование на php eldar PHP 4 23.05.2009 01:01
Голосование - финал 2 конкурса zetrix Свободное общение 17 18.12.2007 07:56
Вспомогательное голосование! zetrix Свободное общение 4 26.11.2007 08:51
Часть окна сделать ПОЛУ-прозрачной DmT Общие вопросы Delphi 5 16.11.2007 13:52