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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2009, 15:35   #1
antoha.by
Пользователь
 
Регистрация: 29.04.2008
Сообщений: 32
Вопрос Вечная проблемма Cookies

Вопрос:
Как мне передать уже известные куки серверу с помощью Indy?
Я использовал idCookieManager, вот он куки принимает с сервера, но не передает ему.
Читал ранее созданные темы, но мало чего понял.

Последний раз редактировалось antoha.by; 12.04.2009 в 15:40.
antoha.by вне форума Ответить с цитированием
Старый 12.04.2009, 16:24   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

уверены что принимает ?
куки добавляются к запросам автоматически если Idcookiemanager привязан к IdHttp
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.04.2009, 20:54   #3
antoha.by
Пользователь
 
Регистрация: 29.04.2008
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
уверены что принимает ?
куки добавляются к запросам автоматически если Idcookiemanager привязан к IdHttp
Уверен. Проверял через idCookiemanager.CookieCollection.It ems все куки принимаются. Сделал тестовый скрипт: он сверяет есть ли определённый cookie в браузере. Проверял в браузере все работает, но программа не хочет передавать куки серверу.
Простой примерчик:
Код:
 http.Create(nil);
  http.Get('http://localhost/cok.php');
  memo1.Lines.Text:=http.Get('http://localhost/cok1.php');
 http.Free;
Программа берет куки с одного скрипта и должна передать их на другой скрипт, второй скрипт проверяет куки и выдает ответ.
Я думую что у меня что-то с привязкой или я что-то не дописал в код.
Привязывал к idHTTP так: в Event->CookieManager прописал имя idCookieManager.
antoha.by вне форума Ответить с цитированием
Старый 12.04.2009, 21:50   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А какую версию Indy используете ? просто работа IdCookiemanager за последние 3-4 месяца была очень качественно переписана под соответствие RFC. Проверьте сниффером , передаются ли куки при работе с обычным браузером
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 12.04.2009, 22:27   #5
antoha.by
Пользователь
 
Регистрация: 29.04.2008
Сообщений: 32
По умолчанию

Использую 9 версию инди.
Снифера у меня нет, но знаю точно что куки передаются браузером, ведь тестовый скрипт писал я сам.
Может вы бы написали простую программку которая передает куки какому-нибудь веб-серверу, это просто так в образовательных целях.
antoha.by вне форума Ответить с цитированием
Старый 12.04.2009, 23:07   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

да добавить куки в запрос руками не болшая проблема, просто это не совсем корректный вариант )
1. Обновитесь до последней версии Indy (должно решить проблему)
2. Можете, конечно, и руками:
Код:
var s:string;
  I: Integer;
begin
..........
//где- то здесь выполняется первый get
..........
s:='Cookie: ';
for I := 0 to idckmngr1.CookieCollection.Count - 1 do
  s:=s+idckmngr1.CookieCollection[i].ClientCookie+'; ';
s:=copy(s,1,Length(s)-2);
idhtp1.Request.CustomHeaders.Add(s);
//здесь выполняем 2-й get...
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 13.04.2009, 08:34   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в 9 версии ИнДи много глюков
(в том числе и этого менеджера)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.04.2009, 17:12   #8
antoha.by
Пользователь
 
Регистрация: 29.04.2008
Сообщений: 32
По умолчанию

Квэнди, вот спасибо. Я просто не знал, что куки нужно пихать в Request.
Еще раз спасибо.
antoha.by вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Траблы с доступом к Cookies php_coder PHP 5 04.11.2009 12:02
Как читать Cookies erick_ Общие вопросы Delphi 1 23.02.2009 07:35
Загрузка в Image и считование Cookies Volt Общие вопросы Delphi 0 04.02.2009 15:42
Помогите пожалуйста с Cookies Maroon PHP 4 05.12.2008 10:24
Как автоматически очистить cookies которые используются TWebBrowser-ом SeRhy Общие вопросы Delphi 0 21.10.2008 17:41