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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Indy. Загрузка cookie с помощью AddCookie, Как загрузить cookie? 
:(
    Опции темы
davemus
Дата 4.7.2009, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Для сохранения Cookie использую функцию:
Код

function TForm1.SaveCookies: boolean;
var i:integer;
    f:TIniFile;
    ident,value:string;
begin
  try
    f:=TIniFile.Create('c:\cookie.ini');
    for i:=0 to IdCookieManager1.CookieCollection.Count-1 do
      begin
        ident:=IdCookieManager1.CookieCollection.Items[i].CookieName;
        value:=IdCookieManager1.CookieCollection.Items[i].Value;
        f.WriteString('Cookies',ident,value);
      end;
    Result:=true;
  finally
    f.Free;
  end;
end;


Следующая функция читает куки обратно:


Код

function TForm1.LoadCookies: boolean;
var
    i:integer;
    f:TIniFile;
    m:TStringList;
begin
    f:=TIniFile.Create('c:\cookie.ini');
    m:=TStringList.Create;
    try
      f.ReadSection('Cookies',m);
      for i:=0 to m.count-1 do
        IdCookieManager1.AddCookie(m[i]+'='+f.ReadString('Cookies',m[i],''),'тут пишем сайт куков');
      f.Free;
      m.free;
      Result:=true;
    except
      f.Free;
      m.free;
      Result:=false;
    end;
end;


Вопрос: 
При чтении куков обратно в строке:
IdCookieManager1.AddCookie(m[i]+'='+f.ReadString('Cookies',m[i],''),'тут пишем сайт куков');
возникает ошибка:
Incompatible types: 'TIdURI' and 'string'
Каким способом можно решить данную проблему?
Использую Indy 10.5.5.
На старой версии Indy 10.2.5 не было этой ошибки, но куки все равно не загружались. Поставил
Indy 10.5.5, результат:
[url=]http://i061.radikal.ru/0907/d5/c40609390b34.jpg[/url]
Какие-то проблемы с кодировкой в Indy 10.5.5 ... Но опять же при загрузке страницы перестали появляться крякозябры, и стали отображаться русские буквы. Какой версией Indy теперь ползоваться, голову ломаю...
PM MAIL   Вверх
MetalFan
Дата 4.7.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

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



пользоваться советую самой свежей.
а что мешает посмотреть описание TIdURI? + посмотреть методы TIdCookieManager'а, может есть другой метод добавления куков


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
davemus
Дата 4.7.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(MetalFan @  4.7.2009,  19:30 Найти цитируемый пост)
пользоваться советую самой свежей.а что мешает посмотреть описание TIdURI? + посмотреть методы TIdCookieManager'а, может есть другой метод добавления куков


Indy 10.5.5 обновил позавчера с SVN репозитории разработчиков kvendi . Никогда не лазил в исходники инди, врядли смогу разобраться самостоятельно. А насчет другого метода добавления куков, хотелось бы услышать предложения. 

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


Зелёненький
*


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

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



что-то я так и не разобрался с TIdURI.
функция та же самая у меня есть строка 'сайт.ру', как мне её передать в эту функцию как TIdURI?
--------------------
PM MAIL ICQ   Вверх
sunnmas
Дата 27.8.2009, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Стойте, стойте. я опоздал на паровоз. У меня такая же проблема:

нужно сохранить куки сайта в бд, чтобы потом ими пользоваться (здесь в файл)

Юзаю IdHttp. Захожу на сайт, отправив пост. Сайт выставил куки. IdHttp куда-то их запомнил, но когда пытаюсь обратиться к КукМенеджеру - он установлен в nil. 

Хочу получить вот это, например: Http.CookieManager.CookieCollection.Items[0].CookieText
вылетает ошибка

Я подумал что нужно КукМенеджер создавать отдельно, хотя в хелпе:

CookieManager is used by the HTTP client when AllowCookies is True.

у меня AllowCookies = true.

как быть если мне нужно заполучить текстовые представления всех куков с сайта, на который только что заходил с idHttp?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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