![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 3 Dołączył: 28.06.2008 Skąd: PL Ostrzeżenie: (0%) ![]() ![]() |
witam
zrobiłem logowanie na serwer i potrzebje id sesji i nr id sesji sie przsyła a nr nie plik z ciastkami wygląda tak Kod # Netscape HTTP Cookie File # http://curlm.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. strona.pl FALSE / FALSE 0 PHPSESSID 1bccacc0ffa0fe8a3123c5dd3f131640 strona.pl FALSE / FALSE 0 wunr 14312222 sesja jest bo sprawdzałem w ciastkach po odpaleni tego skryptu, ale nr niema co jest nie tak? próbowałem juz chyba wszystkiego. pomoże ktoś, bo szukałem już na forum i na googl'u itp i nic nie wiem dlaczego wsyłane jest tylko pierwsze |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak o zrezygnować z POST nie powinieneś jeśli nie wiesz czy jest potrzebne. Przede wszystkim musisz prześledzić kolejność działań na stronie. cURL jest imitacją przeglądarki, może wejść na stronę wysłać formularz, przejść na inną podstronę. Musisz wiedzieć dokładnie co po czym ma następować.
Przykładowo, jeśli masz tą stronę http://mojastrona.pl/login/proxy_login.php, na niej formularz, w którego pola wpisujesz login i hasło, to używasz tego POST'a. Jeśli natomiast podawanie loginu masz w http://mojastrona.pl/logw.php?USR=kubek&pass=haslowmd5 to ten POST wydaje się niepotrzebny. Trudno wymyślać co gdzie powinno być jeśli się nie wie jaka to strona (IMG:style_emoticons/default/winksmiley.jpg) Może formularz logowania powinieneś wypełnić na http://mojastrona.pl/login.php?start=1&ref=&wid=, tam podać dane takie jak login i hasło, wysłać POST'em. Kolejność działania w skrócie jest taka: 1. Inicjujesz cURL'a - $ch = curl_init(); 2. Ustawiasz opcje (zwracanie nagłówków, treści, ciasteczka, etc) 3. Ustawiasz adres url pod który skrypt ma przejść i wykonujesz te przejście $wynik = curl_exec(); 4. Jeśli jest formularz, to ustawiasz dane POST i tak samo przechodzisz przy pomocy curl_exec. Teraz, po każdym takim przejściu możesz zobaczyć jaki wynik powstał, robiąc zwykłe print_r($wynik). Widzisz wtedy co za strona została pobrana. Po tym możesz diagnozować co się zdarzyło, czy logowanie udane, czy nie, czy poprawna strona, bo może otrzymałeś błąd 401. Do samych nagłówków tak jak pisałem wcześniej, skoro $info zwróciło Ci array, to zrób print_r($info) a nie echo $info, to zobaczysz wszystkie nagłówki. Odnośnie Twojego kodu ustawienia curl_setopt robisz raz, nie ustawiasz ciasteczek po każdym wykonaniu. Bo to są ustawienia dla danej 'sesji' cURL'a, więc są już ustawione dopóki nie usuniesz $ch. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 06:52 |