bart1708: PHP und Javascript

Hallo,

ich versuche per PHP und Curl den Inhalt von

https://www.miles-and-more.kartenabrechnung.de/mobile/index.do

abzufragen.

Die Seite nutzt Javascripts und Cookies. Habe bereits versucht, die Post-Requests, die per Javascript ausgeführt werden, mittels Curl durchzuführen. Es werden zwar Daten übermittelt, aber die Seite verlangt trotzdem, das JS aktiv ist.

<body onload="doOnload();">  
  <form name="check" action="https://www.miles-and-more.kartenabrechnung.de/mobile/syscheck.do?TKN=0.XXXXXX" method="POST">  
  <input type="hidden" name="forward" value="[mehrzeiliger Code wie 92e8b73793bc....]">  
    <input type="hidden" name="TKN" value="0.XXXXXX">  
  
    <input type="hidden" name="temp__" value="">  
  </form>  
  <script type="text/javascript">  
    <!--  
    function doOnload() {  
      document.check.submit();  
    }  
    //-->  
  </script>

Die einzelnen HTML-Seiten den Schritten nach in lokale Dateien geschrieben. (1.html, 2.html... ) Auch die Cookies befinden sich durch curl in zwei Dateien login.cookie und auth.cookie

Kann man in irgendeiner Form die Nutzung von JS umgehen? Oder umgekehrt gefragt: Wie, außer durch javascript-Code in der HTML-Datei, wird gecheckt, ob clientseitig JS eingeschaltet ist?

  1. Mahlzeit,

    Wie, außer durch javascript-Code in der HTML-Datei, wird gecheckt, ob clientseitig JS eingeschaltet ist?

    Durch JS-Code in einer externen Datei. Grundsätzlich ist es nur möglich zu testen, ob Javascrtipt eingeschalten ist, indem du mit Javascript irgendwas machst und das Ergebnis prüfst.

    Du kannst das Verhalten des JS höchstens nachbilden, also z.B. das Formular per POST über cUrl direkt an den Server schicken oder du benutzt sowas wie http://phantomjs.org/

    Sinnvoll wäre auch, wenn du einen anständigen User-Agent sendest, sonst mag dich der Server vielleicht nicht.

    Grundsätzlich solltest du dich aber vorher informieren, ob der Anbieter so eine automatische Verarbeitung überhaupt wünscht. Normalerweise wird in solchen Fällen eine passende API zur Verfügung gestellt. Fehlt diese, ist ein solcher Zugriff idR nicht gewünscht/erlaubt.

    --
    42
  2. Hello,

    um sowas auseinanderzunehmen, solltest Du die Requests und Responses inclusive der Header mitschreiben und durchlesen und dann suchen, woher der jeweilige Request aus dem Script kam.

    Aber M. hat ja schon angedeutet, dass es vielleicht auch eine offizielle API gibt, die dann sicherlich auch dokumentiert sein wird.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    Die ultimative Seite für Selbermacher