Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cURL]Logowanie
Forum PHP.pl > Forum > PHP
ShadowD
Witam chciał bym zalogować się curlem na moją stronę www jednak coś mi nie wychodzi, może mógł by mnie ktoś naprowadzić na rozwiązanie...

Kod:
  1. <?php
  2.  
  3. function createPostString($aPostFields) {
  4.    foreach ($aPostFields as $key => $value) {
  5.        $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  6.    }
  7.    return implode('&', $aPostFields);
  8. }
  9.  
  10.  
  11.  
  12. $postFields['nick'] = 'paderewski';
  13. $postFields['pass'] = 'paderewski';
  14. $ch = curl_init('http://www.sonic.cmsss.pl/biblioteka/');
  15. curl_setopt($ch, CURLOPT_HEADER, 1);
  16. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  17. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  18. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  19. curl_exec($ch);
  20. curl_close($ch);
  21.  
  22. ?>


Link do logowania:
http://www.sonic.cmsss.pl/biblioteka/

Link do strony z owym kodem:
http://cmsss.pl/index.php

Teoretycznie loguję się na stronie tylko jak zatrzymać sesję by przejść np do jakiejś zakładki a następnie pobrać jakieś dane, myślałem że chodzi o ciasteczka dlatego dodalem linie odpowiedzialne za to (bynajmniej tak mi się wydaje)questionmark.gif

Z góry dziękuję za pomoc...
bartg
Sprawdź czy plik cookies.txt istnieje i czy dobra ścieżka jest smile.gif

PS. http://hernass.pl/szkola/
ShadowD
Szczerze mówiąc to kopiowałem owy kod z php.pl i go sklejałem, wydaje mi się że zapisywanie cookie powinno być w innym miejscu. Do tego nawet nie wiem gdzie ten plik się zapisuje więc nie wiem jak sprawdzić... ;p

A więc napisałem tak:
  1. <?php
  2. if(file_exists(dirname(__FILE__) . '/cookies.txt'))
  3. echo 'ok';
  4. else
  5. echo 'nie';
  6. ?>


I wyświetliło mi 'nie' więc taki plik nie istnieje...

Btw. co do layoutu można go zakupić za jakieś 6zł +vat na jakiejś stronie www ;p
bartg
ten plik sam sie nie stworzy smile.gif

Stwórz go recznie tak aby wyswietlało że jest i powinno śmigać
ShadowD
Omg walczyłem z tym jakieś 2 godz, myślałem że php jest na tyle inteligentne by stworzyć sobie plik... ;p

Zmodyfikowany kod:
  1. <?php
  2.  
  3. function createPostString($aPostFields) {
  4.    foreach ($aPostFields as $key => $value) {
  5.        $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  6.    }
  7.    return implode('&', $aPostFields);
  8. }
  9.  
  10. $postFields['nick'] = 'paderewski';
  11. $postFields['pass'] = 'paderewski';
  12. $ch = curl_init('http://www.sonic.cmsss.pl/biblioteka/');
  13. curl_setopt($ch, CURLOPT_HEADER, 1);
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
  15. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
  16. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
  17. curl_exec($ch);
  18. curl_close($ch);
  19.  
  20. if(file_exists('cookies.txt'))
  21. echo 'ok';
  22. else
  23. echo 'nie';
  24.  
  25. ?>


Dziękuję ^^
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.