cURL uwierzytelnienie metodą post i parsowanie
Napisane: Śr wrz 25, 13 19:29
A więc chcę w jedną stronę się logować, po czym ją parsować.
nie jestem expertem jeśli chodzi o cURL i pewnie tu leży błąd.
niestety wyskakuje błąd, o takiej treści
dlatego w kodzie umieszczam
W efekcie, polecenie echo przesłało mi stronę do przeglądarki(oczywiście bez stylu css), ale tak jakbym nie przesłał formularza.
Jestem zaskoczony, bo wydaje mi się że pod zmienną $page2 powinien się znajdować adres URL oraz że przesłanie $post zwróci mi stronę po wypełnieniu formularza.
nie jestem expertem jeśli chodzi o cURL i pewnie tu leży błąd.
- Kod: Zaznacz cały
<?php
$page1="http://www.krolestwa.com";
$postline='login="yyy"&password="xxx"'; //oryginalnie w kodzie daje poprawne dane logowania
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $page1);
curl_setopt($c, CURLOPT_POST, 1);//przesylamy metodą post
curl_setopt($c, CURLOPT_POSTFIELDS, $postline); //dane do wyslania
curl_setopt ($c, CURLOPT_NOBODY, 0);
curl_setopt ($c, CURLOPT_HEADER, 1);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); //zwróci zamiast true, stronę
$page2 = curl_exec($c);
curl_close($c);
$kod=file_get_contents($page2);
?>
niestety wyskakuje błąd, o takiej treści
Warning: file_get_contents(<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Language" content="pl"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="Description" content="Wieloosobowa Ĺredniowieczna gra RPG. W tej bezpĹatnej grze, zobaczysz jak twoja postaÄ rozwija siÄ w danej spoĹecznoĹci. Jako rzemieĹlnik, rycerz lub ksiÄ ĹźÄ, odnajdziesz swoje przeznaczenie w spoĹeczeĹstwie."> <meta name="Keywords" content="gra, gra sieciowa, gra internetowa, gra online, darmowa, wolna od opĹat, spoĹecznoĹÄ, historia, historyczna, krĂłlestwa, krĂłlestwo, renesans, tamagoshi, online, RPG, chat, wieloosobowa, fantasy, fantastyczna, Ĺredniowieczny, Ĺredniowiecze, Europa, podbĂłj, polityczny, polityka, wybory, wĂłjt, spotykaÄ"> <link href="styl in C:\xampp\htdocs\nauka\curl_base.php on line 15
dlatego w kodzie umieszczam
- Kod: Zaznacz cały
echo $page2;
- Kod: Zaznacz cały
$kod=file_get_contents($page2);
W efekcie, polecenie echo przesłało mi stronę do przeglądarki(oczywiście bez stylu css), ale tak jakbym nie przesłał formularza.
Jestem zaskoczony, bo wydaje mi się że pod zmienną $page2 powinien się znajdować adres URL oraz że przesłanie $post zwróci mi stronę po wypełnieniu formularza.