[Indy] Problem z sesją na stronie

0

Napiszę jeszcze raz bo usunięto mi posta z tego powodu, że źle zredagowałem jego temat :D
Mam nadzieję, że teraz jest dobrze :)

Problem polega na tym, że:
Chcę otworzyć przeglądarkę internetową ze stroną, na którą zalogowałem się za pomocą IdHTTP.
Wysyłam POST'a na stronę login.php.
Otrzymuje numer sesji.
Wysyłam POST'a na stronę index.php z parametrami page=bleblelbe, session=cyferki, które dostałem przed chwilą.
W programie mam pętle, która co jakiś czas odświeża mi index.php, tzn. na nowo wysyła tego posta i pobiera response do memo. Nie zrywam połączenia (mam keep-alive) i przy każdym POST wszystko jest ok.

NATOMIAST, gdy korzystam z ShellExecute

var
zmiennapchar:PAnsiChar;
str:string;
begin
str:='http://xxx/index.php?page=overview&session='+Edit1.Text+'';
zmiennapchar:=PChar(str);
ShellExecute(Handle, 'open', 'C:\Program Files\Mozilla Firefox\firefox.exe', zmiennapchar, nil, SW_SHOWNORMAL);

Otwiera mi się strona z komunikatem, że moja sesja wygasła.

Ale mam też nowość hihi:
Kiedy chodziłem sobie normalnie po stronie (używając Firefoxa) otworzyłem kolejnego i wpisałem adres taki jaki mam w shellexecute. Otworzyło się.
Natomiast, gdy otworzyłem ten adres w Internet Explorer wywaliło komunikat o nieważnej sesji.
Uzupełniłem Request (nagłówek) w idHTTP do takich samych parametrów co wykazał mi sniffer.
Nic to nie dało. W dodatku przy wprowadzaniu wartości Accept-Encoding nie mogę odczytać źródła, bo w memo wyświetla mi się: |tl| .

Proszę o pomoc. :-O

Przepraszam z góry moderatora, że nie poprawiłem wtedy tematu :)
Liczę na to, że ktoś mi w tej kwestii pomoże

0

PAPU!!!!! Twój program je ma a firefox nie =D

się znaczy ciasteczka, trochę mi odbija od strony która ma w kodzie skrypt który tworzy ciastka po stronie klienta, paskudztwo, brrr...

0

Więc..
Szukałem na google i tu na forum procedury, żeby wyciągnąć cookies zachowane przez Cookiemanager i wychodziły dziwne układy.
Jedynie ten kod, wyświetla cookie poprawnie:

   Cookie:= IdCookieManager1.CookieCollection.Items[0].CookieText;
     IdHTTP1.Request.CustomHeaders.Add('Cookie:' + Cookie);
     Memo3.Text:=cookie;

Tylko, że to daje tylko 1 cookie, a co z resztą?

No i teraz pytanie dotyczące mojego problemu z przeglądarką.
Czy wystarczy to jeśli wpisze te cookies do CustomHeaders? Czy muszę poszukać pliku gdzie Firefox zapisuje cookies i tam je wrzucić?

0

Items[0]
Items[1]
Items[2]
Items[3]

itd aż do Count-1
a z podrzuceniem papu do lodówki liska może się udać =] próbuj =]

0

Ptwr działa :)
Wyciągnałem każde info o każdym ciastku ale...
Szukałem gdzie jest lodówka liska.
Okazało się, że jest owy Cookies.txt, ale gdy wprowadzam sobie ciastko to w foxie go nie ma!
Wszystko robiłem wg. innych (wzorowałem sie, kopiowałem) - nic!
Pomyślałem, że może dobrze by było rozwiązać to w ten sposób:
Zanim otworze linka, otworze wygenerowaną stronę w delphi ze skryptem (np. JS), który zrobiłby Setcookie.
Szukam już 3 godziny na google działającego kodu. Niektóre działają, ale nie da się wprowadzić parametru domain, który jest kluczowy w tej sprawie.
Ręce mi już opadają. Może znacie inny sposób jak mogę wrzucić ciastko do firefoxa?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0