Ich beschäftige mich gerade mit cURL und hab mir das Lern-Ziel gesetzt bestimmte Daten von einer Seite auszulesen. Leider schaffe ich es nicht die benötigten Token richtig zu übergeben.
Mein Lernziel is aktuell auf folgender Seite nur die Veranstaltungen in Berlin anzugeben und auszulesen:
Freikarten | TwoTickets.de
Dafür muss Links eine Stadt (search_city) ausgewählt und zusammen mit dem Token übergeben werden. Leider komme ich nicht zum Ziel, wäre super wenn jemand mal über den Quellcode rüberguckt und mir evtl. weiterhilft.
P.S.
Ich weiß dass man einfach nur den RSS Feed auslesen muss um die selben Daten zu bekommen, aber dann lernt man ja nichts ^^
Danke für eure Hilfe
Mein Lernziel is aktuell auf folgender Seite nur die Veranstaltungen in Berlin anzugeben und auszulesen:
Freikarten | TwoTickets.de
Dafür muss Links eine Stadt (search_city) ausgewählt und zusammen mit dem Token übergeben werden. Leider komme ich nicht zum Ziel, wäre super wenn jemand mal über den Quellcode rüberguckt und mir evtl. weiterhilft.
P.S.
Ich weiß dass man einfach nur den RSS Feed auslesen muss um die selben Daten zu bekommen, aber dann lernt man ja nichts ^^
PHP-Code:
function HomepageLaden($url, $postdata)
{
$agent = "My Testbrowser :D";
$header[] = "Accept: text/vnd.wap.wml,*.*";
$ch = curl_init($url);
if ($ch)
{
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
if (!empty($postdata))
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
}
$tmp = curl_exec ($ch);
curl_close ($ch);
}
return $tmp;
}
//Get Token & Start Session
$_url = "http://www.twotickets.de/soforttickets/";
$_buffer = HomepageLaden($_url, "");
$pattern = '/name=\'csrfmiddlewaretoken\' value=\'(.*?)\'/';
preg_match($pattern,$_buffer,$output);
//Send Berlin as a City - Server should save it for the ongoing session
$_url = "http://www.twotickets.de/staedte-aendern/";
$postdata = 'csrfmiddlewaretoken='.$output[1].'&city_radius=100&search_city=Berlin';
$_buffer = HomepageLaden($_url, "");
//Get Page with results for Berlin
$_url = "http://www.twotickets.de/soforttickets/";
$_buffer = HomepageLaden($_url, "");
echo $_buffer;
Kommentar