Session und Cookie von HTTP_Request an HTTP_Client übergeben
Verfasst: 28.04.2008 23:39
Hallo Leute, hab schon wieder eine PEAR Frage.
Ist es möglich die Session und Cookies die man mit der HTTP_Request Klasse aufgerufen hat an die
HTTP_Client Klasse zu übergeben? Oder wirt das Automatisch gehandhabt?
Ich weiss, PEAR kann sehr viel, aber alles wird es wohl nicht können. Oder?
Hier mein Code
Danke im voraus
Ist es möglich die Session und Cookies die man mit der HTTP_Request Klasse aufgerufen hat an die
HTTP_Client Klasse zu übergeben? Oder wirt das Automatisch gehandhabt?
Ich weiss, PEAR kann sehr viel, aber alles wird es wohl nicht können. Oder?

Hier mein Code
Code: Alles auswählen
<?
// TimeOut verhindern
set_time_limit(0);
//Starte HTTP Client
require_once "HTTP/Request.php";
require_once "HTTP/Client.php";
// Neues Objekt mit URL instanziieren
$req = new HTTP_Request("http://*****.com/go/login");
$req->setMethod(HTTP_REQUEST_METHOD_POST);
$req->addHeader("User-Agent","Opera/8.0 (Windows NT 5.1; U; de)");
$req->addHeader("Connection","Keep-Alive");
$req->addHeader("Referer","http://*****.com");
$req->addPostData("action", "login");
$req->addPostData("target", "-");
$req->addPostData("nickname", "*****");
$req->addPostData("password", "*****");
$req->addPostData("remember", "YES");
$req->addPostData("submit", "Anmelden");
//$req->addQueryString("senden", "senden");
// Request an den Server schicken
$req->sendRequest();
//echo $req->getResponseBody()."<br>";
if (PEAR::isError($response))
{
echo $response->getMessage();
}
else
{
//echo $req->sendRequest()."<br>";
echo $req->getResponseBody()."<br>";
print_r($req->getResponseCookies())."<br>";
//foreach ($req->getResponseHeader() as $name => $value)
//{echo $name . " = " . $value . "\n";}
}
//Anfang wert der URL
$urlendung = 0;
do {
$urlendung+= 1;
echo "Seite".$urlendung."<br>";
$link = "http://www.testsuche".$urlendung.".html";
$client =& new HTTP_Client();
$code = $client->get($link);
$res =& $client->currentResponse();
//echo $res['body']."\n";
$html = $res['body']."\n";
// Abfrage ob es weitere ID's zu hollen gibt
//-------------------------------------------------------------------------------------------------
if (preg_match("/class\=\"next\"/", $html))
{
$weiter = true;
"Es geht weiter weill Button rechts gefunden worde<br>";
}
else
{
$weiter = false;
"Fertig da kein Button rechts gefunden worden ist<br>";
}
//-------------------------------------------------------------------------------------------------
// ID's werden geholt bis keine mehr vorhanden sind
}while ($weiter);
?>