Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][curl] logowanie na chomikuj
Forum PHP.pl > Forum > Przedszkole
jasiokk
Witam otóż próbuję za pomocą curla zalogować się na chomikuj i jakoś mi nie wychodzi dlatego proszę o pomoc na forum:)

Po analizie formularza napisałem następujący kod:
  1. <?php
  2. function createPostString($aPostFields) {
  3. foreach ($aPostFields as $key => $value) {
  4. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  5. }
  6. return implode('&', $aPostFields);
  7. }
  8.  
  9. $cookies = 'cookies.txt';
  10.  
  11. $postFields['topBarLogin'] = 'xxxx';
  12. $postFields['topBarPassword'] = 'xxxx';
  13. $postFields['topBar_LoginBtn'] = 'Zaloguj';
  14.  
  15. $curl = curl_init();
  16. curl_setopt($curl, CURLOPT_URL, 'http://chomikuj.pl/action/Login/TopBarLogin');
  17. curl_setopt($curl, CURLOPT_REFERER, 'http://chomikuj.pl/action/Login/TopBarLogin');
  18. curl_setopt($curl, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
  19. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
  20. curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies);
  21. curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies);
  22. curl_setopt($curl, CURLOPT_POST, TRUE);
  23.  
  24. curl_setopt($curl, CURLOPT_POSTFIELDS, createPostString($postFields));
  25.  
  26. curl_exec($curl);
  27. curl_close($curl);
  28.  
  29. ?>
  30.  


Aczkolwiek po uruchomienu wyskakuje komunikat:
Cytat
Niestety podczas przetwarzania żądania wystąpił błąd.


Może ktoś pomóć ?smile.gif
krzywy36
jako postFields podajesz 'name' a nie id wink.gif, poza tym pola do post można przekazać jako zwykłą tablicę, nie trzeba bawić się z łączeniem tego w stringa.
jasiokk
dzięki za uwagę jednak dalej nie dziala

  1. ...
  2. $postFields['Login'] = 'xxxx';
  3. $postFields['Password'] = 'xxxx';
  4. $postFields['topBar_LoginBtn'] = 'Zaloguj';
  5. ...


ani

  1. ...
  2. $postFields['Login'] = 'xxxx';
  3. $postFields['Password'] = 'xxxx';
  4. $postFields['Zaloguj'] = '';
  5. ...


nie mam pojęcia co dalej, byłbym wdzieczny za pomoc:)
krzywy36
jest jeszcze jedno pole: '__RequestVerificationToken'
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.