Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

idHttp и IdCookieManager

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 09.06.2012, 13:00   #1
 Разведчик
Аватар для vim.adm
 
vim.adm никому не известный тип
Регистрация: 05.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию idHttp и IdCookieManager

Хочу сделать небольшой клиент для своего форума.

Принцип: при авторизации на форуме в куки пишется некая информация.
Вопрос: как ее отобразить в Delphi? или как сделать так что бы после авторизации (get запроса) можно было отсылать post-запросы и форум видел что я авторизован?

Вопрос 2: как отобразить куки?

Если не сложно подскажите литературу на эту тему, 2 день уже копаюсь и не чего толком не нашел
  Ответить с цитированием
Старый 09.06.2012, 16:15   #2
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

Литературы на эту тему нету, даже официальной документации (документация доступна для скачивания на официальном сайте, но не обновляется и соответственно она не верная).
Как понять "отобразить куки" ?
Массив всех полученных (и активных) куки находится IdHTTP.CookieManager.CookieCollection.Cookies
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 09.06.2012, 17:41   #3
 Разведчик
Аватар для vim.adm
 
vim.adm никому не известный тип
Регистрация: 05.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

Цитата:
Сообщение от J-FobosПосмотреть сообщение
Как понять "отобразить куки" ?

Показать все имеющиеся (загруженные)


Подскажи, что у меня не верно:

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Data := TStringList.Create;
IdHTTP1.AllowCookies:=True;
idHTTP1.CookieManager:=IdCookieManager1;
idHTTP1.HandleRedirects:=True;

//---

idHttp1.Request.Host:='ru.grepolis.com';
idHttp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5';
idHttp1.Request.Accept:='text/plain, */*; q=0.01';
idHttp1.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4';
idHttp1.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.3';
idHttp1.Request.Referer:='ru5.grepolis.com';
end;
авторизация на сайте:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
    k:integer;
begin
RichEdit1.Lines.Add(idHTTP1.Get('http://ru.grepolis.com/?action=login_from_mail&player_id=111&hash=bc7581e891&world_id=ru5'));
str:=RichEdit1.Lines[407];
k:=pos('Game.csrfToken = ',str);
delete(str,1,k+17);
k:=pos('''',str);
delete(str,k,Length(str));
Edit1.Text:=str;
end;
POST запрос:
Код:
procedure TForm1.Button8Click(Sender: TObject);
begin
    Data.Clear;
    Data.Add('action=claim_load');
    Data.Add('town_id='+ListBox1.Items[0]);
    Data.Add('h='+Edit1.Text);
   Memo1.Lines.Add(idHttp1.Post('http://ru5.grepolis.com/game/index?login=1?', Data));
end;
при выполнении post запроса в мемо можно увидеть, что авторизация не прошла, т.к. выводит на главную страницу с авторизацией.

Я склоняюсь к тому что у меня не пишутся куки. Пробовал проверить куки как ты посоветовал, но не получилось.

я не прошу решения, просто подскажи в какую сторону копать.

Последний раз редактировалось vim.adm; 09.06.2012 в 18:25.
  Ответить с цитированием
Старый 11.06.2012, 00:24   #4
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

Вариант 1: не правильное содержимое данных пост запроса.
Решение: сравнить сниффером пакеты браузера и программы, найти отличия, исправить разницу.

Вариант 2: используется бета версия библиотек инди.
Решение: скачать и установить стабильную версию инди.

Больше склоняюсь ко второму варианту
Как не получилось проверить наличие куки? IdHTTP.CookieManager.CookieCollection.Cookies.Coun t
Кстати еще событие OnNewCookie в компоненте CookieManager.

Совет: для запросов гет/пост используйте блок try, это поможет избежать ошибок приложения при обрыве соединения и тому подобных проблемах.
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';

Последний раз редактировалось J-Fobos; 11.06.2012 в 00:26.
  Ответить с цитированием
Старый 11.06.2012, 11:27   #5
 Разведчик
Аватар для vim.adm
 
vim.adm никому не известный тип
Регистрация: 05.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

J-Fobos, Indy 10 стоит

Дело в том что у меня не отправляются куки т.е. они пустые

Подскажи как записать инфу в куки и как их отправлять, вчера весь инет перерыл но так не чего путевого не нашел(
  Ответить с цитированием
Старый 11.06.2012, 11:35   #6
Заблокирован
 Разведчик
Аватар для victor20011
 
victor20011 на правильном пути
Регистрация: 17.05.2012
Сообщений: 18
Популярность: 66
Сказал(а) спасибо: 20
Поблагодарили 20 раз(а) в 11 сообщениях
Отправить сообщение для victor20011 с помощью ICQ Отправить сообщение для victor20011 с помощью Skype™
 
По умолчанию Re: idHttp и IdCookieManager

у меня так в моем мониторинг чите)
if Form1.ComboBox1.Text = 'http://www.m0nitor.ru/' then
begin
form1.idHttp1 := TIdHTTP.Create(nil);
form1.IdCookieManager1 := TidCookieManager.Create(form1.idHttp1);
form1.idHttp1.CookieManager := form1.IdCookieManager1;
form1.IdHTTP1.Get('http://www.m0nitor.ru/');
begin
data.add('action=vote');
data.add('id='+ Form1.Edit1.Text);
form1.IdHTTP1.Post('http://www.m0nitor.ru/votes.php',data);
end;
end;
  Ответить с цитированием
Старый 11.06.2012, 13:25   #7
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

Indy 10
У меня Indy 10.5.8.4768, а не просто 10 )) Сначала рекомендую обновить инди, если не прокатит - думать дальше.
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 11.06.2012, 22:01   #8
 Разведчик
Аватар для vim.adm
 
vim.adm никому не известный тип
Регистрация: 05.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

обновил Indy до 10.5.8.4768
Проблема осталась той же, при get запросе все проходит на ура т.е. авторизация выполнена, но при выполнении post запроса, пишет что вы не авторизованны.


J-Fobos, можешь описать принцип отправки куков? или они должны автоматически передаваться?

Завтра кину скрины http анализатора, для информации что же происходит у меня.
  Ответить с цитированием
Старый 12.06.2012, 20:57   #9
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

Надо самому попробовать. Не нашел там формы регистрации. Дай аккаунт для теста.
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 12.06.2012, 21:20   #10
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: idHttp и IdCookieManager

vim.adm, просто интересно, какие кукисы ты хочешь отправить Post запросом, предварительно не отправив Get?

Поясню, пожалуй. Кукисы эта такая штука, которую придумали дяди разработчики для хранения данных у пользователя. Естественно, что злые дяди начали использовать их для защиты своих злых сайтов от роботов, проще говоря для аутентификации пользователей.

Едем дальше. С браузера добросовестный юзер для того чтобы авторизоваться на злом сайте злого дяди сначала посылает Get запрос на страницу, где этот злой дядя разместил форму авторизации.

И тут коварный план злого дяденьки по аутентификации пользователь исполняется. Попав на эту страницу, ничего не подозревавший юзер получает порцию кукисов. Дальше эти непонятные кукисы вклиниваются в любой следующий запрос, который этот юзер отправит.

Таким образом, нажав кнопку "Войти", юзер вместе со своими данными отправляет серверу порцию кукисов, а хитрый сервер проверяет их наличие и исходя из этого определяет "подлинность" юзера.

P.S. Если не дошло. то тупо подключи к IdHTTP IdCookieManager и допиши следуещее перед отправкой Post запроса.
Код:
form1.IdHTTP1.Get('http://www.m0nitor.ru/votes.php');
Всем спасибо, все свободны...
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 12.06.2012, 22:37   #11
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

VeTaL_UA, http://zhyk.ru/forum/showpost.php?p=3045322&postcount=3 здесь так и есть, сначала гет, а потом пост, загвоздка не в этом.
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 13.06.2012, 22:40   #12
NoItemName
 Рыцарь
Аватар для J-Fobos
 
J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(J-Fobos сломал счётчик популярности :(
Регистрация: 12.04.2009
Сообщений: 394
Популярность: 47903
Сказал(а) спасибо: 515
Поблагодарили 1,124 раз(а) в 430 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

В таком виде у меня все работает. Только всегда используйте try, не делайте как я

Код:
var
  PostData: TStringList;
begin
  IdHTTP1.Request.UserAgent :=
    'Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0';
  Memo1.Text := IdHTTP1.Get('http://ru.grepolis.com/start');
  PostData:=TStringList.Create;
  PostData.Add
    ('json={"name":"************","password":"**********","passwordhash":"","autologin":true}');
  IdHTTP1.Post
    ('http://ru.grepolis.com/start/index?action=login_from_start_page',
    PostData);
  PostData.Free;
  Memo1.Text := IdHTTP1.Get('http://ru.grepolis.com/start');
end;
________________

В любом из нас спит гений. И с каждым днем все крепче.
Запомните раз и навсегда:= 'Помочь' <> 'Сделайте за меня';
  Ответить с цитированием
Старый 14.06.2012, 18:55   #13
 Разведчик
Аватар для vim.adm
 
vim.adm никому не известный тип
Регистрация: 05.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: idHttp и IdCookieManager

J-Fobos, благодарю за помощь, все получилось
  Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с idhttp запросом! DKENT Вопросы и ответы, обсуждения 4 26.08.2011 17:20
[Помогите!] IdHTTP помощь niklod Школа Читера 1 19.05.2011 04:37
[Программа] idHTTP и AMF SCratORS Вопросы и ответы, обсуждения 2 21.10.2010 15:31

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 15:03.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net