Monika: Angeber von Liebhe** Händlersuche umgehen mit der Snoopyclass

Hallo,

mein bester Freund ist Programmierer für den Softwareanbieter der beim Hersteller Liebhe** die Händlersuche programmiert hat.
Seine Aussage war *die Daten bekommst du niemals automatisiert ausgegeben*. Soetwas konnte ich nicht auf mir sitzten lassen, und habe mich direkt daren gemacht die Händlersuche an zu gehen.

Leider ohne Erfolg, ich bekomme immer die Antwort, das keine Händler gefunden werden könne, obwohl bei normaler Suche Händler angezeigt werden.

Habt ihr da noch eine Idee?

<?php  
// **********************************************************************  
// * 					Get Liebh*** V 0.36								*  
// *																	*  
// * 	Holt die Daten aus der Händlersuche des Herstellers Liebh**.	*  
// *																	*  
// **********************************************************************  
// Definiere Snoopy Class  
  
$plzabfrage = "48155";  
include "class-snoopy.php";  
  
// **********************************************************************  
// * Hole die verdammte Sessionid, scheiß jsp							*  
// **********************************************************************  
$snoopy = new Snoopy;  
$snoopy->agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10";  
$snoopy->referer= 'http://www.liebherr.com/hg/45332.asp';  
$snoopy->fetch("http://liebherr.dealer.ecoplan.net/LIEBHERR/faces/I001_dealerSearch.jsp");  
$session = $snoopy->results;  
  
preg_match_all('|method="post" action="/LIEBHERR/faces/I001_dealerSearch.jsp;(.*)" enctype="application/x-www-form-urlencoded">|Uism',$session, $regs, PREG_PATTERN_ORDER);  
$sessionid = $regs[1][0];  
  
// **********************************************************************  
// * Zeige Daten im Browser an (man kann ja nie wissen.) 				*  
// **********************************************************************  
echo "<h1>".$plzabfrage."</h1>";  
echo "<h2>".$sessionid."</h2>";  
  
// **********************************************************************  
// * So nun nur noch die PLZ übergeben, und es sollte klappen			*  
// **********************************************************************  
  
  
$submiturl = "http://liebherr.dealer.ecoplan.net/LIEBHERR/faces/I001_dealerSearch.jsp;".$sessionid;  
  
$snoopy = new Snoopy;  
$snoopy->agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10";  
$snoopy->referer= 'http://liebherr.dealer.ecoplan.net/LIEBHERR/faces/I001_dealerSearch.jsp';  
  
$submit_url = $submiturl;  
$submit_vars["form1:plz"] = $plzabfrage;  
$submit_vars["form1:city"] = "";  
$submit_vars["form1:disctrict"] = "";  
$submit_vars["form1:street"] = "";  
$submit_vars["form1:number"] = "";  
$submit_vars["form1:dropDownSearchCountries"] = "DE";  
$submit_vars["form1:staticText6"] = "DE";  
$submit_vars["form1:search1"] = "form1:search1";  
$submit_vars["form1_hidden"] = "form1_hidden";  
$snoopy->submit($submit_url,$submit_vars);  
  
$data = $snoopy->results;  
  
$data= str_replace('/LIEBHERR/', 'http://liebherr.dealer.ecoplan.net/LIEBHERR/', $data);  
  
echo $data;  
//echo $session;  
//echo $submiturl;  
  
?>
  1. Moin Moin!

    mein bester Freund ist Programmierer für den Softwareanbieter der beim Hersteller Liebhe** die Händlersuche programmiert hat.
    Seine Aussage war *die Daten bekommst du niemals automatisiert ausgegeben*. Soetwas konnte ich nicht auf mir sitzten lassen

    Sonst hast Du keine Probleme?

    Natürlich kann man die Daten automatisiert abgreifen. Nur wird auf der Server-Seite wahrscheinlich sehr paranoid geprüft, wie die Requests aussehen. Alles, was einem echten Browser mit einem echten Menschen davor nicht ähnlich genug ist, wird abgewürgt.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Hello,

    Habt ihr da noch eine Idee?

    $submiturl = "http://liebherr.dealer.ecoplan.net/LIEBHERR/faces/I001_dealerSearch.jsp;".$sessionid;

    Du hängst da hinten eingfach $session-ID an.
    Scahu Dir das mal an, was drinsteht.

    Set-Cookie: JSESSIONID=299F3F5F427277D1DA901333DDE01EC9; Path=/LIEBHERR
                    ----------

    Im Formular ist das allerdings klein geschrieben.
    Könnte sein, dass der Controller darauf zickig reagiert, wenn Du es jetzt plötzlich groß schreibst.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Hallo,

    // **********************************************************************
    // * Hole die verdammte Sessionid, scheiß jsp *
    // **********************************************************************

      
      
    
    > Habt ihr da noch eine Idee?  
      
    Nach so einem Kommentar im Code? Ja, habe ich: lerne Programmieren!  
      
    Grüße  
    Thomas