Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IDHTTP - не отправляются cookies 
:(
    Опции темы
Rexar
Дата 8.3.2006, 21:56 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 14.12.2005

Репутация: нет
Всего: 0



Вхожу методом post в аккаунт, затем методом get пытаюсь перейти по ссылке, но меня выбрасывает на предыдущую страницу где необходимо войти в аккаунт. Просмотрел снифером: "не отправляются cookies с моей программы". Почему так ?
PM MAIL   Вверх
Демо
Дата 9.3.2006, 09:45 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 3
Всего: 50



Цитата(Rexar @ 8.3.2006, 21:56 Найти цитируемый пост)
"не отправляются cookies с моей программы". Почему так ?


Наверное ошибка в коде.


--------------------
    
PM MAIL ICQ Skype   Вверх
Rexar
Дата 9.3.2006, 10:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 14.12.2005

Репутация: нет
Всего: 0



Код примерно такой:

Код

procedure TForm1.Button2Click(Sender: TObject);
Var
  P:TStringStream;
begin
 IDHTTP1.HandleRedirects:=True;
 IDHTTP1.Request.Referer:='http://www.abrakadabra/enter.php';
 IDHTTP1.Request.ContentLength:=54;
 IDHTTP1.Request.CacheControl:='no-cache';
 IDHTTP1.Request.ContentType:='application/x-www-form-urlencoded';
 p:=TStringStream.Create('username=abrakadabra&password=abrakadabra&submit=Login');
 Memo1.Text:=IDHTTP1.Post('/pages/enter.php',P);
 P.Free;


end;

procedure TForm1.Button3Click(Sender: TObject);
begin
IDHTTP1.Request.ContentType:='';
IDHTTP1.Request.ContentLength:=-1;
IDHTTP1.Request.CacheControl:='';
IDHTTP1.Request.Referer:='http://www.abrakadabra/enter.php';
memo1.Text:=IDHTTP1.Get('/pages/infix.php');
end;


Это сообщение отредактировал(а) Rexar - 9.3.2006, 10:09
PM MAIL   Вверх
Snowy
Дата 9.3.2006, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



TIdHTTP.AllowCookies := true;
И прикрути TIdCookieManager.
PM MAIL   Вверх
Rexar
Дата 9.3.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 14.12.2005

Репутация: нет
Всего: 0



TIdCookieManager У меня был прикручен, А где храняться cookies после вызова метода POST ? Может их как-то вручную впихнуть ?
PM MAIL   Вверх
Snowy
Дата 9.3.2006, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



В менеджере они и хранятся.
А впихивать вручную их незачем. Все и так должно работать.
Вероятно дело все же не в печенье.
PM MAIL   Вверх
CyberBullDog
Дата 24.9.2006, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



У меня такая же проблема возникла. Использую IdHTTP + IdCookieManager. Так он Cookie принимает, а отправлять не хочет. В чем проблема??? Indy стандартные от Delphi7
PM MAIL   Вверх
Matematik
Дата 24.9.2006, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 24
Всего: 50



У меня такое было, проблема была в имени домена например
http://www.ya.ru != http://ya.ru
PM MAIL WWW ICQ   Вверх
CyberBullDog
Дата 24.9.2006, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Цитата(Matematik @ 24.9.2006,  19:57)
У меня такое было, проблема была в имени домена например
http://www.ya.ru != http://ya.ru

В моем случае дело не в этом. Не все так просто smile
PM MAIL   Вверх
Romikgy
Дата 25.9.2006, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Если хорошо покуришь индейцев , то поймешь , у них есть одна трабла , если куки ловишь из вверхнего урла типа
Цитата(CyberBullDog @  24.9.2006,  22:58 Найти цитируемый пост)
http://ya.ru

то во внутренней структуре , есть член называется Path так он там пустая строка , его надо изменить на '\'


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
CyberBullDog
Дата 25.9.2006, 10:16 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Цитата(Romikgy @  25.9.2006,  08:39 Найти цитируемый пост)
надо изменить на '\' 

Слэш только другой нужен, а так спасибо ОГРОМНОЕ. Я в Mozille видел этот параметр, но не думал, что его придется вручную проталкивать.
PM MAIL   Вверх
CyberBullDog
Дата 25.9.2006, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.9.2006

Репутация: нет
Всего: нет



Только вот одно меня смущает. Некоторые сайты вместо '/' в Path пишут другие строки. И как их уловить, если "Индейцы" их не принимают??? И что будет, если я автоматом туда '/' пропишу?
PM MAIL   Вверх
Romikgy
Дата 25.9.2006, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



автоматом надо прописывать только тогда , когда этот путь пуст
в других случаях его не трогать smile  smile  smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
dexi
Дата 25.12.2006, 06:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.12.2006

Репутация: нет
Всего: нет



Конкретно так:

Код

uses: .. IdCookie ..
..
..
{ставим на обработчик события onNewCookie; (ASender: TObject;
                                                            ACookie: TIdCookieRFC2109; var VAccept: Boolean);}

VAccept := true;
if ACookie.Path='' then ACookie.Path:='/';


PM MAIL   Вверх
Юрик217
Дата 10.4.2015, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 26.3.2008

Репутация: нет
Всего: нет



Цитата(Matematik)

У меня такое было, проблема была в имени домена например
http://www.ya.ru != http://ya.ru



Цитата(dexi @ 25.12.2006,  06:16)
Конкретно так:

Код

uses: .. IdCookie ..
..
..
{ставим на обработчик события onNewCookie; (ASender: TObject;
                                                            ACookie: TIdCookieRFC2109; var VAccept: Boolean);}

VAccept := true;
if ACookie.Path='' then ACookie.Path:='/';





РЕБЯТА, СПАСИБО ВАМ ОГРОМНОЕ,  Matematik и dexi!!! smile  В моём случае (авторизовывался ВКонтакте без всякого API - так нужно мне...), этот способ помог smile , тоже куки принимал и не отправлял smile  (смотрел в снифере - без него как без рк)... Правда у меня проблема была с доменом, но сама идея меня натолкнула.


Код

uses: .. IdCookie ..  //Я ЗАМЕТИЛ (после создания события onNewCookie) ЧТО У МЕНЯ ЕГО НЕТ 
..
..
onNewCookie; (ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean);}
.
..
...

procedure TForm1.IdCookieManager1NewCookie(ASender: TObject;
  ACookie: TIdCookieRFC2109; var VAccept: Boolean);
begin
VAccept := true;

//Для престраховки -на всякий пожарный, решил оставить
if ACookie.Path=' ' then ACookie.Path:='/';

//Вот тут моя проблема РЕШИЛАСЬ!! 
if ACookie.Domain='.vk.com' then ACookie.Domain:='vk.com';
end;




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



Это сообщение отредактировал(а) Юрик217 - 10.4.2015, 21:28
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1652 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.