Hallo Leute,
mittlerweile weiß ich einigermaßen wie ich Curl benutze nun steh ich vor meinem nächsten Problem. Vielleicht kann mir ja jemand von euch helfen.
test.php
Ich möchte jetzt, dass Curl die neu erstellte $url aufruft damit die auf der Internetseite erstellte Session geschlossen wird (Logout-Link). Wenn ich manuell den Link aufrufe dann klappt alles wunderbar aber wenn ich das mit Curl versuche gehts irgendwie nicht.
Sollte nicht folgender Code reichen? Ich setze ihn vor //session beenden curl_close($ch)
Problem ist ums nochmal auf den Punkt zu bringen. Ich werde auf der mittels curl geöffneten Internetseite nicht ausgeloggt.
Hat jemand eine Idee?
mittlerweile weiß ich einigermaßen wie ich Curl benutze nun steh ich vor meinem nächsten Problem. Vielleicht kann mir ja jemand von euch helfen.
test.php
PHP-Code:
<?php
//Die Session initialisieren
$ch = curl_init();
//Variablen setzen
$hidden = "index.html";
$login = "Benutzername";
$password = "Passwort";
$url ="https://www.domain.de/index.html";
$arrSubmit='target_page=' . $hidden . '&loginname=' . $login . '&password=' . $password;
$cookies="/";
$fp = fopen("test.html", "w");
//Session Optionen setzen
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrSubmit);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
//Ausführen der Aktionen
curl_exec($ch);
fclose($fp);
###########################################################################
#Session ID herausfinden...
$handle = fopen("test.html","r");
$content = fread($handle,filesize("test.html"));
fclose($handle);
$starttag = '<li class="tab1"><a href="info.html?session=';
$endtag = '">Information</a></li><li class="tab2">';
$text = $content;
if (false !== ($startpos=strpos($text, $starttag)) )
{
if (false !== ($endpos=strpos($text, $endtag, $startpos)) )
{
$sp = $startpos+strlen($starttag);
$versatel_session = substr($text, $sp, $endpos-$sp);
}
}
###########################################################################
$url = "https://www.service.domain.de/logout.html?session=$test_session";
#URL im eigenen Browser aufrufen funktioniert!!!
echo"<html><a href=".$url.">".$url."</a></html>";
//Session beenden
curl_close($ch);
?>
Sollte nicht folgender Code reichen? Ich setze ihn vor //session beenden curl_close($ch)
Problem ist ums nochmal auf den Punkt zu bringen. Ich werde auf der mittels curl geöffneten Internetseite nicht ausgeloggt.
PHP-Code:
###########################################################################
$url = "https://www.service.domain.de/logout.html?session=$test_session";
#URL im eigenen Browser aufrufen funktioniert!!!
#echo"<html><a href=".$url.">".$url."</a></html>";
$fp = fopen("test.html", "w");
//Session Optionen setzen
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILE, $fp);
//Ausführen der Aktionen
curl_exec($ch);
fclose($fp
//Session beenden
curl_close($ch);
Kommentar