Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Bot nie loguje na strone. (curl post)
Forum PHP.pl > Forum > Przedszkole
papkie
Siemka.

Mam problem z logowaniem na strone wpiernicz.pl.

Gdy nie ma logowania, strona sie normalnie wyświetla, jednak gdy włączam logowanie (CURLOPT_POST, CURLOPT_POSTFIELDS) to wyświetla się biała strona.

Hasło w skrypcie jest poprawne, więc można sprawdzić.

Kod
<?php

$user = 'qupeczka';
$pass = 'qweqwe';

$url = "http://$user.wpiernicz.pl/";
$post = "form_login_password=$pass&form_login_login=$user&form_login_auth=2";

$header[] = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.9) Gecko/20100824 AskTbFXTV5/3.8.0.12304 Firefox/3.6.9\n"
. "Host: $user.wpiernicz.pl\n"
. "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\n"
. "Accept-Language: pl,en-us;q=0.7,en;q=0.3\n"
. "Accept-Encoding: gzip,deflate\n"
. "Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7\n"
. "Keep-Alive: 115\n"
. "Connection: keep-alive\n"
. "Referer: http://$user.wpiernicz.pl/\n"
. "Content-Type: application/x-www-form-urlencoded\n"
. "Content-Length: ".strlen($post)."\n";
echo $header[0];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie');
$qq = curl_exec($ch);
curl_close($ch);

echo $qq;


?>


Z góry dzięki!
Alson
  1. $ch = curl_init();
  2. curl_setopt($ch, CURLOPT_URL, $url);
  3. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  4. curl_setopt($ch, CURLOPT_POST, 1);
  5. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //to dodałem
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie');
  9. curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie');
  10. $qq = curl_exec($ch);
  11. curl_close($ch);
  12.  
  13. echo $qq;


Zobacz teraz czy Ci działa :]
papkie
  1. <?php
  2.  
  3. $user = 'qupeczka';
  4. $pass = 'qweqwe';
  5.  
  6. $url = "http://$user.wpiernicz.pl/";
  7. $post = "form_login_password=$pass&form_login_login=$user&form_login_auth=2";
  8.  
  9. $header = "Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3";
  10.  
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, $url);
  13. curl_setopt($ch, CURLOPT_HEADER, true);
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  15. curl_setopt($ch, CURLOPT_USERAGENT, $header);
  16. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  17. curl_setopt($ch, CURLOPT_POST, 1);
  18. curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  19. curl_setopt($ch, CURLOPT_COOKIEFILE, './cookies.txt');
  20. curl_setopt($ch, CURLOPT_COOKIEJAR, './cookies.txt');
  21. $qq = curl_exec($ch);
  22. curl_close($ch);
  23.  
  24. $ch = curl_init();
  25. curl_setopt($ch, CURLOPT_URL, $url);
  26. curl_setopt($ch, CURLOPT_HEADER, true);
  27. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  28. curl_setopt($ch, CURLOPT_USERAGENT, $header);
  29. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  30. curl_setopt($ch, CURLOPT_COOKIEFILE, './cookies.txt');
  31. curl_setopt($ch, CURLOPT_COOKIEJAR, './cookies.txt');
  32. $qq = curl_exec($ch);
  33. curl_close($ch);
  34.  
  35. echo $qq;
  36.  
  37.  
  38. ?>


(To że wtedy nie wchodziło było spowodowane headerami)

Teraz wchodzi, tylko nie loguje...

Cookies zapisuje.
Fifi209
Jest taki dodatek do Firefox'a o nazwie live http headers, podglądnij sobie wszystko ;]
papkie
Cytat(fifi209 @ 17.10.2010, 18:21:57 ) *
Jest taki dodatek do Firefox'a o nazwie live http headers, podglądnij sobie wszystko ;]


Już sobie poradziłem winksmiley.jpg

Nie wysyłałem nagłówków typu:
  1. POST / HTTP/1.1


Stwierdziłem że są niepotrzebne, a tu jednak winksmiley.jpg

Za pomoc dzięki!
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.