Delphi и Cookies

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by miqo, 28 Oct 2009.

  1. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    Для правильного выполнения GET запроса программа должна использовать Cookies. Они у меня есть в Опере. как можно сделать так что бы программа работала с этими Cookies при отправке GET запроса?
     
  2. AquaKlaster

    AquaKlaster Active Member

    Joined:
    9 Mar 2009
    Messages:
    0
    Likes Received:
    204
    Reputations:
    23
    Если юзаешь IdHTTP то кинь на форму еще IdCookieManager и подключи его к IdHTTP в свойстве CookieManager, после этого программа сама будет принимать и отправлять кукисы
    А если нужно добавить кукисы с оперы как у тя то прост пиши IdCookieManager.CookieCollection.AddCookie и вбивай их
    PS писал без IDE так что если что где не так извеняй
     
  3. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    у меня что то не получается. вопервых появляется ошибка про кодировку времени кукиз а во втроых никак немогу их превезать. что мождно сделать?
     
  4. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    Выложи часть исходного кода, посмотрим.
     
  5. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    проблемма в том что не могу написать код
     
  6. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    кидаешь на форму IdCookieManager
    пишешь:

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

    всё, все куки будут сохраняться и использоваться
     
    1 person likes this.
  7. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    ZdezBilYa, я хочу использовать уже существующие кукиз (например оперы)
     
  8. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    или можно реализовать все это с помощю TWebBrowser?
     
  9. ZdezBilYa

    ZdezBilYa Elder - Старейшина

    Joined:
    29 Aug 2008
    Messages:
    198
    Likes Received:
    75
    Reputations:
    19
    копируешь из Оперы в IdCookieManager:
    как уже сказали вот так: IdCookieManager.CookieCollection.AddCookie
     
  10. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    как?
     
  11. 0rs

    0rs Member

    Joined:
    30 Dec 2008
    Messages:
    70
    Likes Received:
    23
    Reputations:
    3
    На нужной странице в адресной строке пишешь:
    Code:
    javascript:document.write(document.cookie)
    и то что получилось копируешь в IdCookieManager.CookieCollection.AddSrcCookie();
    Или куки из оперы сама программа должна вытаскивать? Если так, то нужно парсить cookies4.dat.
     
    #11 0rs, 30 Oct 2009
    Last edited: 30 Oct 2009
  12. miqo

    miqo Banned

    Joined:
    18 Nov 2008
    Messages:
    100
    Likes Received:
    0
    Reputations:
    -1
    а как можно связать CookieManager с Twebbrowser?
     
  13. 0rs

    0rs Member

    Joined:
    30 Dec 2008
    Messages:
    70
    Likes Received:
    23
    Reputations:
    3
    Никак. IdCookieManager связан с инди. Twebbrowser сам хранит свои куки. Не понятно зачем из оперы их передавать в Twebbrowser, пусть сам получает.
    Можно попробовать так:
    Code:
    WebBrowser1.OleObject.Document.cookie:='куки из оперы';
    А как их получить я писал выше.