PDA

Просмотр полной версии : Delphi и Cookies


miqo
28.10.2009, 23:57
Для правильного выполнения GET запроса программа должна использовать Cookies. Они у меня есть в Опере. как можно сделать так что бы программа работала с этими Cookies при отправке GET запроса?

AquaKlaster
29.10.2009, 00:10
Если юзаешь IdHTTP то кинь на форму еще IdCookieManager и подключи его к IdHTTP в свойстве CookieManager, после этого программа сама будет принимать и отправлять кукисы
А если нужно добавить кукисы с оперы как у тя то прост пиши IdCookieManager.CookieCollection.AddCookie и вбивай их
PS писал без IDE так что если что где не так извеняй

miqo
29.10.2009, 20:45
у меня что то не получается. вопервых появляется ошибка про кодировку времени кукиз а во втроых никак немогу их превезать. что мождно сделать?

Chrome~
29.10.2009, 21:49
Выложи часть исходного кода, посмотрим.

miqo
29.10.2009, 21:59
проблемма в том что не могу написать код

ZdezBilYa
29.10.2009, 22:18
кидаешь на форму IdCookieManager
пишешь:

idHttp := TIdHTTP.Create(nil);
IdCookieManager1 := TidCookieManager.Create(idHttp);
idHttp.CookieManager := IdCookieManager1;

всё, все куки будут сохраняться и использоваться

miqo
29.10.2009, 22:37
ZdezBilYa, я хочу использовать уже существующие кукиз (например оперы)

miqo
29.10.2009, 23:14
или можно реализовать все это с помощю TWebBrowser?

ZdezBilYa
29.10.2009, 23:43
ZdezBilYa, я хочу использовать уже существующие кукиз (например оперы)
копируешь из Оперы в IdCookieManager:
как уже сказали вот так: IdCookieManager.CookieCollection.AddCookie

miqo
30.10.2009, 00:22
как?

0rs
30.10.2009, 10:43
На нужной странице в адресной строке пишешь: javascript:document.write(document.cookie) и то что получилось копируешь в IdCookieManager.CookieCollection.AddSrcCookie();
Или куки из оперы сама программа должна вытаскивать? Если так, то нужно парсить cookies4.dat.

miqo
30.10.2009, 21:09
а как можно связать CookieManager с Twebbrowser?

0rs
31.10.2009, 12:14
Никак. IdCookieManager связан с инди. Twebbrowser сам хранит свои куки. Не понятно зачем из оперы их передавать в Twebbrowser, пусть сам получает.
Можно попробовать так:WebBrowser1.OleObject.Document.cookie:='к ки из оперы'; А как их получить я писал выше.