Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wysłanie ciastka na inny serwer?
kubek15
post 20.03.2010, 11:58:02
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


Witam
Jak mogę wysłac ciastko na www.strona.pl?
bo odczytałem że tam jest ciastko i pisze xx=kamil pitem na dole host www.strona.pl
ja robie tak
  1. $cookie2 = 'sessid=' . urlencode('wartość1') . '; sessid2=' . urlencode('wartość2');
  2. $c = curl_init('http://strona.pl');
  3. curl_setopt($c, CURLOPT_HEADER, 1);
  4. curl_setopt($c, CURLOPT_COOKIE, $cookie2);
  5. curl_exec($c);
  6. curl_close($c);


i mi to nie wysyła . Dlaczego?

Ogólnie to mam jakies logowanie curl juz działa elegancko sa 3 przekierowania i na pocżatku pobieram id sesji ale niewiem jak pobrac ciastka z 2 i 3 przekierowania.


--------------------
Go to the top of the page
+Quote Post
kipero
post 20.03.2010, 13:18:54
Post #2





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


A skąd pewność, ze nie wysyła?


--------------------
Go to the top of the page
+Quote Post
kubek15
post 20.03.2010, 14:04:47
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


bo włączam ff i potem daje pokaż ciacha i jest tylko jedno a tego co przesyłam tym wyżej to nie ma.

mam taki kto który zastepuje mi follow location

  1. function curl_redirect_exec($ch, &$redirects, $curlopt_returntransfer = false, $curlopt_maxredirs = 4, $curlopt_header = false) {
  2. $cookie = dirname(__FILE__) .'/cookie';
  3. curl_setopt($ch, CURLOPT_HEADER, true);
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  5. curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie );
  6. curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie );
  7. curl_setopt($ch, CURLOPT_POST, 1);
  8. curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=kubek&password=xxx&submitlogin=Zaloguj');
  9. $data = curl_exec($ch);
  10. $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
  11. $exceeded_max_redirects = $curlopt_maxredirs > $redirects;
  12. $exist_more_redirects = false;
  13. if ($http_code == 301 || $http_code == 302) {
  14. if ($exceeded_max_redirects) {
  15. list($header) = explode("\r\n\r\n", $data, 2);
  16. $matches = array();
  17. preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
  18. $url = trim(array_pop($matches));
  19. $url_parsed = parse_url($url);
  20. if (isset($url_parsed)) {
  21. curl_setopt($ch, CURLOPT_URL, $url);
  22.  
  23. $redirects++;
  24. return curl_redirect_exec($ch, $redirects, $curlopt_returntransfer, $curlopt_maxredirs, $curlopt_header);
  25. }
  26. }
  27. else {
  28. $exist_more_redirects = true;
  29. }
  30. }
  31. if ($data !== false) {
  32. if (!$curlopt_header)
  33. list(,$data) = explode("\r\n\r\n", $data, 2);
  34. if ($exist_more_redirects) return false;
  35. if ($curlopt_returntransfer) {
  36. return $data;
  37. }
  38. else {
  39. echo $data;
  40.  
  41.  
  42. if (curl_errno($ch) === 0) return true;
  43. else return false;
  44. }
  45. }
  46. else {
  47. return false;
  48. }
  49. }


i zaloguje sie nim na stronę ale jak patrze w ciastka to wysle się tylko id sesji ale nazwa juz się nie wyśle.
Oglądałem to live http i patrzyłem co jest wysyłane.
I ogólnie sa 3 przekierowania
na pierwszym logowaniu dostaje id na drugim dostaje numer , a na trzecim dostaje (chyba nowe id sedji) i ten sam numer.

Jak to odplae w przedlądarce to wyśle sie tylko id sesji. Może cos źle dodałem bo robie to i robie juz kilka h i dalej nic


--------------------
Go to the top of the page
+Quote Post
kipero
post 20.03.2010, 18:46:54
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 50
Dołączył: 28.10.2006
Skąd: Radom

Ostrzeżenie: (0%)
-----


CURL nie może utworzyć ciasteczek w Twojej przeglądarce. On jest sam jakgdyby przeglądarką i tworzy ciasteczka do własnego użytku.


--------------------
Go to the top of the page
+Quote Post
kubek15
post 21.03.2010, 09:32:56
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 3
Dołączył: 28.06.2008
Skąd: PL

Ostrzeżenie: (0%)
-----


a sądzisz że na www.boo.pl działało by followlocation ? bo niewiem czy tam jest safe_mode on. Bo bez followlocation chyba tego nie przejde.

Oglądałem co jest wysyłane Live HTTP i tak
jak wpisze link to się wykonuje i w ciastach jest do sesji to mi spisuje elegancko, ale po przejsciu w filelocation jest znowu ciastko a właściwie dwa w jedym to samo id sesji a w drugim numer i jak zrobić aby ciastka wysyłało z przekierowania a nie z tego pierwszego linku?

Ciastka zapisują mi si 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.

haha.gif2.strona.pl    FALSE    /    FALSE    0    PHPSESSID    1bccacc0ffa0fe8a3123c5dd3f131640
haha.gif2.strona.pl    FALSE    /    FALSE    0    wunr    14312222


ale wysyła się tylko pierwsze czyli id sesji. dlaczego?

Ten post edytował kubek15 20.03.2010, 22:19:13


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 13:26