Strona 1 z 1

cURL uwierzytelnienie metodą post i parsowanie

PostNapisane: Śr wrz 25, 13 19:29
przez adeptofvoltron
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.

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;
zamiast
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.