cookies + indy

0

Witam, znowu dephi i znowu problem :)

probuje zalogowac sie na jedna strone, jednak wymaga ona chyba ciasteczek.

Zwraca mi takie cos:

Set-Cookie: user=xxxx;
Set-Cookie: pass=xxxxx;
Set-Cookie: sess=BgHRQxxxxx;

jednak nie wiem co z tym dalej zrobic...

szukalem przykladow i pare rzeczy ktore znalazlem to:

Form1.HTTP.Request.CustomHeaders.Values['Cookie'] := tutaj ciag czyli:  user=xxxx;pass=xxxxx;sess=BgHRQxxxxx;  

moze zle to zapisuje, bo nie dziala.... Czy 'Cookie' jest stałą wartościa? Czy podaje poprawnie ciag?

dzialam na indy 10

0

Weź sobie ściągnij jakiegoś sniffera i zobacz co przekazuje normalna przeglądarka. Po czym zrób dokładnie tak samo.

0

postem wysylane sa 3 parametry, i jest okej, ale po przeslaniu dostaje w odpowiedzi :

 Logging in...
  <script type="text/javascript">
  <!--
    window.location = "/cgi-bin/login.cgi";
  //-->
  </script>

wiec pewnie cos z ciasteczkami bo strona do posta to xxx/cgi-bin/login.cgi, a potem trzeba jeszcze raz na strone wjesc np http.get(xxx./cgi-bin/login.cgi), ale wtedy juz zwraca ze puste haslo

0

A dobrze ustawiam cookies kodem podanym wyzej?

PS. Jestem w stanie postawic czteropaka osobie, która mi pomoze z tym, ale nie chcialbym zeby to szlo na razie do dziala praca czy gdzie indziej.

0

np tak:

Form1.HTTP.Request.CustomHeaders.Values['Cookie'] := tutaj ciag czyli:  user=login;pass=halslo123;sess=BgHRQUSdns;  

jak widac czarów nie ma, bardziej chodzi mi czy technicznie robie dobrze

0

Hmmm, czy do Indy zlikwidowano dokumentacje lub przykłady, że nie możesz tego sprawdzić zanim napiszesz na forum? Ja tam Indy od wieków już nie używam, ale nawet jeżeli jakieś linki oficjalne w Google wygasły, co miało miejsce chyba z downloadem. To zawsze można spróbowac przez web archive.

0

wkurzylem sie, gdyz zaczalem podejrzewac, ze to wina d7 i starych indy, gdyz wczesniej udalo mi sie z powodzeniem napisac kilka logerow...

po raz 3 w zyciu siegnalem po Synapse....

po 30 minutach udalo mi sie to zrobic co chcialem....

Wysylalem dobrze wszystko, to byla wina delphi. Sprawdzilem kod u kumpla na xe3(indy) i dzialalo....

pozdrawiam i ide sie upic

0

w synapse nie uzylem redirecta, a w delphi uzywalem i tez nie pomagalo.

0

W Indy, o ile kojarzę wiele postów na tym forum, często ktoś miał jakieś cyrki przy POSTowaniu. Jeżeli nie Redirect, to albo inny USerAgent albo być może MimeType. Ciężko zgadywac, jeżeli nie wiadomo o jaką stronę dokładnie chodzi. Ja tam i tak wolę od razu zrobić z użyciem Synapse. I nie miałem problemów od dawna. Chociaż zasada jest taka, jeżeli wyślesz identyczne rzeczy POSTem jak wysyła prawdziwa przeglądarka WWW (co zresztą tutaj Tobie już radzono), to i pod Indy strona powinna zachować się ok.

0

Tak to jest jak się bierze od d strony... jak wchodzisz na stronę np. logowania to robisz GET prawdopodobnie już wtedy są ustawiane ciacha (np. jakieś ID sesji) i nie musisz ich dodawać ręcznie (a nawet jak chcesz to nie w ten sposób). Jak zrobisz pierwsze GET to będziesz miał te ciacha i zostaną one przekazane przy POST więc będzie OK. I to ma działać zarówno w Indy jak i w Synapse nie trzeba żadnej filozofii.

0

wywolywalem get przed postem i inne rzeczy robilem takze.

Nie dzialalo. Tzn dzialalo na XE3, wiec jak juz wspomnialem wyzej, blad lezal prawdopdobnie po stronie wersji srodowiska.

Co do przypisywania ciastek, tutaj sie zwracam do Kazek, moglbys napisac jak to robic dobrze w inny sposob?

0

Ustaw IdCookieManager'a na formie i połącz go z komponentem IdHTTP - od teraz ciasteczkami się w ogólne nie przejmuj będą automatycznie wrzucane i pobierane z tego kontenera, do tego AutoRedirrect na true (czy coś podobnego) i wszystko powinno działać. W Indy 9 był pewien błąd z ciasteczkami (jeśli dobrze pamiętam jeżeli w nagłówku ciastka nie była podana ścieżka takie ciastko było ignorowane - poprawili w indy 10), ale możesz porównać ciastka z przeglądarki z tymi w programie.

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