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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2014, 20:09   #1
Max111222
 
Регистрация: 12.11.2014
Сообщений: 7
Лампочка Проблема с кукисами в дельфи

Доброго времени суток!
Недавно начал программировать на дельфи и добрался до такой темы как работа с Indy TidHttp and Cokie.Написал простенькую авторизацию для одного форума,перед этим закинул сам куки менеджер,2 кнопки,IdHttp(привязал к нему менеджер) и поля для ввода логина и пароля,а также поле для отправки сообщения.Поясню что за "сообщения"-нужно чтобы пользователь заходил на сайт,кукисы сохранялись и при переходу на сам линк осуществлялся post запрос на добавление сообщений в мини-блог форума и при этом юзер должен авторизован быть(благодаря кукам).Ну,вроде как все правильно написал,но чет не пашет.
Вот код авторизации:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
pagedata:string;
data: TStringList;
i : integer;
begin
pagedata:= IdHTTP1.Get('http://www.webmasters.ru/forum/login.php?do=login');
    Data := TStringList.Create;
    idHttp1.Request.Host:='webmasters.ru';
    idHttp1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
    idHttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    idHttp1.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
    idHttp1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    idHttp1.Request.Referer:='http//www.webmasters.ru';
data:= TStringList.Create;
data.Add('vb_login_username='+Edit1.Text) ;
data.Add('vb_login_password='+Edit2.Text)  ;
data.Add('securitytoken=guest') ;
data.Add('do=login');
data.Add('vb_login_md5password=') ;
data.Add('s=') ;
data.Add('vb_login_md5password_utf=') ;
pagedata:= IdHTTP1.Post('http://www.webmasters.ru/forum/login.php?do=login',data);
if Pos('register.php',pagedata)<>0 then ShowMessage('Вход не выполнен') else ShowMessage('Вход выполнен');
post:= TStringList.Create;
post.Add('message_backup='+Edit3.Text);
post.Add('message='+Edit3.Text);
post.Add('wysiwyg=0');
post.Add('sbutton=Отправить сообщение');
post.Add('fromquickcomment=1');
post.Add('s=');
post.Add('securitytoken=Здесь должна быть часть токена,но палить лучше не надо-3f1ec02e060cb82afafbdf98e18ed1d72a94d915');
post.Add('do=message');
post.Add('u=22034');
post.Add('u2=');
post.Add('loggedinuser=22034');
post.Add('parseurl=1');
post.Add('lastcomment=');
post.Add('allow_ajax_qc=0');
post.Add('fromconverse=');
postdata:= IdHTTP1.Post('http://webmasters.ru/forum/visitormessage.php?do=message',post);

end;
Вот код отправки сообщения в мини-блог на форуме...:
Код:
procedure TForm2.Button2Click(Sender: TObject);
var
post: TStringList;
postdata: string;
begin
post:= TStringList.Create;
post.Add('message_backup='+Edit3.Text);
post.Add('message='+Edit3.Text);
post.Add('wysiwyg=0');
post.Add('sbutton=Отправить сообщение');
post.Add('fromquickcomment=1');
post.Add('s=');
post.Add('securitytoken=Здесь должна быть часть токена,но палить лучше не надо-3f1ec02e060cb82afafbdf98e18ed1d72a94d915');
post.Add('do=message');
post.Add('u=22034');
post.Add('u2=');
post.Add('loggedinuser=22034');
post.Add('parseurl=1');
post.Add('lastcomment=');
post.Add('allow_ajax_qc=0');
post.Add('fromconverse=');
postdata:= IdHTTP1.Post('http://webmasters.ru/forum/visitormessage.php?do=message',post);

end;
В коде может быть куча мусора,извините,пока учусь
P.s: Много топиков на данном форуме прочитал,но почему-то не работает

Последний раз редактировалось Stilet; 12.11.2014 в 20:45.
Max111222 вне форума Ответить с цитированием
Старый 12.11.2014, 20:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
,но чет не пашет.
Допустим. Как проявляется "непахание"? Ошибка? Вылет? Данные не попадают на сайт?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2014, 21:00   #3
Max111222
 
Регистрация: 12.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Допустим. Как проявляется "непахание"? Ошибка? Вылет? Данные не попадают на сайт?
Ошибки нет,скорее всего данные отсылаются на сайт,но отправляются не авторизованым пользователем и благодаря я так понимаю кукисам или может в коде ошибка.Ну,а код сам по себе правильный, как вы думаете?

Stilet,Кстати можете сказать есть ли погрешности в коде и как можно сделать его лучше.Буду очень рад!

Последний раз редактировалось Stilet; 14.11.2014 в 19:31.
Max111222 вне форума Ответить с цитированием
Старый 14.11.2014, 19:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Врядли я так скажу не зная механизма сайта )
Это нужно его изучать.
Что приходит в postdata смотрел?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2014, 21:57   #5
Max111222
 
Регистрация: 12.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Врядли я так скажу не зная механизма сайта )
Это нужно его изучать.
Что приходит в postdata смотрел?
Конечно, то что забивал в переменную Data, то там и было.Я проверил,авторизация сама рабочая.Ну вот проблема я уже догадываюсь в чем.Походу проблема в Indy,много где читал что куки менеджер не все сайты может обработать.Типа там где чистый JavaScript,то у менеджера трабл.Ну,думаю делать свой менеджер через код(благо исходников в интере куча).Увидим...
P.S: Кстати,форум на аналоге движка IPB, вроде VBULLETIN
Max111222 вне форума Ответить с цитированием
Старый 15.11.2014, 10:13   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Типа там где чистый JavaScript,то у менеджера трабл
Ха! Так это наверное только компоненты браузерные типа хромиума или стандартного веббравзыря отработать смогут )
Цитата:
Ну,думаю делать свой менеджер через код(благо исходников в интере куча).Увидим...
Ну удачи )

P.S. Чесслово я бы инди выкинул, и использовал бравзерь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.11.2014, 14:10   #7
Max111222
 
Регистрация: 12.11.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ха! Так это наверное только компоненты браузерные типа хромиума или стандартного веббравзыря отработать смогут )

Ну удачи )

P.S. Чесслово я бы инди выкинул, и использовал бравзерь.
Пожалуй последую вашему совету)Скорее всего лучше через браузер
Было бы неплохо,если бы вы мне описали как нужно это сделать через елемент ВебБраузера...
P.S: Можно тему думаю закрыть чтоль......

Последний раз редактировалось Max111222; 15.11.2014 в 16:48.
Max111222 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающие подсказки tooltip на javascript, работа с кукисами, библиотека эффектов prot0type JavaScript, Ajax 1 31.07.2011 23:20
проблема компиляции в дельфи Jeka_727211 Помощь студентам 2 10.06.2010 17:12
глюк с кукисами TaTT DoGG PHP 9 04.01.2010 17:30
Дельфи 8. Проблема с кодировкой. Venor Общие вопросы Delphi 1 10.06.2008 20:44
ПРОблема с дельфи by -ORTODOX- Общие вопросы Delphi 10 14.03.2008 18:21