libcurl javascript funktion aufrufen

01/30/2016 19:46 Krabat2#1
Hallo, ich bin gerade dabei einen kleinen Bot für eion BG zu schreiben.

Das BG aktualisiert seine Daten alle 1,5 sek:
[Only registered and activated users can see links. Click Here To Register...]

Diese Funktion wird von "refresh.php" aufgerufen


in dem Quelltext steht folgendes:
[Only registered and activated users can see links. Click Here To Register...]

Sobald referesh.php aufgerufen wird, startet eine Loop die alle 1,5 sek die Daten abruft.

Aber wie kann ich dies mit libcurl erreichen?
01/30/2016 22:15 Jeoni#2
Indem du einen eigenen Loop in deinem Programm machst, der alle 1.5 Sekunden die Daten entsprechend abruft (ist ja nur HTTP-GET, dazu ist libcurl ja da; Referer setzen sollte ebenso möglich sein). Was dazu benötigt wird, steht im JavaScript-Code, den du ja bereits gefunden hast.
libcurl bietet keinen JavaScript-Interpreter, sondern stellt lediglich den HTTP-Client. Das muss man an dieser Stelle deutlich differenzieren. Der Browser hat halt beides, aber libcurl nicht. In dem Fall ist das aber auch nicht nötig. Den Loop kannste ja relativ leicht in deinem Programm nachbauen.
Mit freundlichen Grüßen
Jeoni
01/30/2016 22:22 Krabat2#3
Vielen dank für die Antwort!
Mein problem ist nur, dass wenn ich einen der Links öffne (oder einen selber "generiere" )
dass der Quellcode leer ist
02/02/2016 13:22 Krabat2#4
Oder wie bekommt Das BG seine infos? Ich könnte ja auch alle Seiten einzeln aufrufen: item.php, map.php etc... aber das würde ja auffallen
02/02/2016 13:46 warfley#5
Hast du auch an die Cookies gedacht?
02/02/2016 15:31 Krabat2#6
Ja :/
03/13/2016 07:59 thecoder2012#7
Quote:
Originally Posted by Krabat2 View Post
Ja :/
Es können auch andere Daten im Header noch stehen oder ggf. der Aufbau vom Request anders sein. Sollte in Wireshark (oder Fiddler) ersichtlich werden, da Curl nur die eigene Voreinstellung ohne ausdrücklich zusätzliche Anweisung nutzt.

Im Zweifelfall sollte bis auf verändernde Werte der Request vollständig identisch aussehen.

Ich persönlich nutze Fiddler für solche Angelegenheit weil man damit einfacher vorhandene Requests erneut für Tests senden kann und damit ergründet wo das Problem liegt. Alternativ einfach sowas wie PhantomJS nutzen.