Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][curl] Logowanie nie działa - brak błędu
MagiQ
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.11.2016

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


Witam

Mam problem logowaniem do strony za pomoca curl-a. Strona się otwiera, logowanie się jedna nie udaje a co gorsza nie wyświetla się żaden błąd. Plik php odpalam z localhost (xampp).


  1.  
  2. <?php
  3.  
  4. $ch = curl_init();
  5.  
  6. $data = [
  7. 'email' => 'ponuryzniwiarz1@onet.pl',
  8. 'password' => 'ponuryzniwiarz1'
  9. ];
  10.  
  11. $url = 'https://www.gedmatch.com/login1.php';
  12.  
  13. curl_setopt($ch, CURLOPT_URL,$url);
  14. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
  15. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  16. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  17. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  18. curl_setopt($ch, CURLOPT_POST, true);
  19. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21.  
  22. $output = curl_exec($ch);
  23.  
  24. if (curl_error($ch)) {
  25. echo curl_error($ch);
  26. }
  27. else {
  28. echo $output;
  29. }
  30.  
  31. curl_close ($ch);
  32.  
  33. ?>
  34.  




Z analizy nagłowka żądania wynika że może to problem z ciasteczkiem. Ciasteczko się jednak generuje prawidłowo i ma taką strukturę:
  1. www.gedmatch.com FALSE / FALSE 1506162165 PHPSESSID 1dc9ps7uhgcd4hi7r2urpll4l2


Proszę o poradę dla początkującego jak ugryźć ten problem.



Cytat(MagiQ @ 23.09.2017, 13:12:05 ) *
Witam

Mam problem logowaniem do strony za pomoca curl-a. Strona się otwiera, logowanie się jedna nie udaje a co gorsza nie wyświetla się żaden błąd. Plik php odpalam z localhost (xampp).


  1.  
  2. <?php
  3.  
  4. $ch = curl_init();
  5.  
  6. $data = [
  7. 'email' => 'ponuryzniwiarz1@onet.pl',
  8. 'password' => 'ponuryzniwiarz1'
  9. ];
  10.  
  11. $url = 'https://www.gedmatch.com/login1.php';
  12.  
  13. curl_setopt($ch, CURLOPT_URL,$url);
  14. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
  15. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  16. curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
  17. curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
  18. curl_setopt($ch, CURLOPT_POST, true);
  19. curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
  20. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  21.  
  22. $output = curl_exec($ch);
  23.  
  24. if (curl_error($ch)) {
  25. echo curl_error($ch);
  26. }
  27. else {
  28. echo $output;
  29. }
  30.  
  31. curl_close ($ch);
  32.  
  33. ?>
  34.  




Z analizy nagłowka żądania wynika że może to problem z ciasteczkiem. Ciasteczko się jednak generuje prawidłowo i ma taką strukturę:
  1. www.gedmatch.com FALSE / FALSE 1506162165 PHPSESSID 1dc9ps7uhgcd4hi7r2urpll4l2


Proszę o poradę dla początkującego jak ugryźć ten problem.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Strona którą tutaj podałeś jest pusta więc co ma zwrócić?
Go to the top of the page
+Quote Post
MagiQ
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.11.2016

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


Chwilowa awaria serwera - czasem tak mają.

Widze że postawili już serwer na nogi więc strona jest już aktywna.

Cytat(viking @ 25.09.2017, 12:32:26 ) *
Strona którą tutaj podałeś jest pusta więc co ma zwrócić?

Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Wysyłasz dane w przeglądarce, zakładka sieć, kopiuj jako curl.
https://incarnate.github.io/curl-to-php/ wklejasz, kopiujesz, poprawiasz.

Cytat
// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://www.gedmatch.com/login2.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=ponuryzniwiarz1@onet.pl&password=ponuryzniwiarz1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookies.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$headers = array();
$headers[] = "Host: www.gedmatch.com";
$headers[] = "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0";
$headers[] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$headers[] = "Accept-Language: pl,en-US;q=0.7,en;q=0.3";
$headers[] = "Content-Type: application/x-www-form-urlencoded";
$headers[] = "Referer: https://www.gedmatch.com/login1.php";
$headers[] = "Connection: keep-alive";
$headers[] = "Upgrade-Insecure-Requests: 1";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);

$output = curl_exec($ch);
var_dump($output);
if (curl_error($ch)) {
echo curl_error($ch);
}
else {
echo $output;
}

curl_close ($ch);

?>


tadam.
Go to the top of the page
+Quote Post
MagiQ
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 25.11.2016

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


Dzięki za wskazówkę. Skrypt poszedł poprawnie !
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 10.10.2025 - 09:08