PHP und Javascript
bart1708
- php
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?
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.
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