HTML-Code aus Frame auslesen ...
-
- Beiträge: 126
- Registriert: 24.10.2004 21:11
- Wohnort: Ahlen
HTML-Code aus Frame auslesen ...
Hallo ...
Nachdem ich mein letztes Problem zwar nicht beheben, aber umgehen konnte, stehe ich nun vor einem anderen Problem.
Wenn ich eine Seite in meinem Webgadget lade und das Mozilla Plugin verwende, wie kann ich dann auf einen Code zu greifen, der in einem Frame innerhalb der Seite in meinem Webgadget ist ??? Bei einfachen HTML Seiten würde ich den Code analysieren und die dort geöffnete URL separat in den Ram laden. Da es sich aber um eine Sessionabhängige PHP-Datei handelt, bin ich da eher ratlos ...
Weiss da einer einen Rat ???
Nachdem ich mein letztes Problem zwar nicht beheben, aber umgehen konnte, stehe ich nun vor einem anderen Problem.
Wenn ich eine Seite in meinem Webgadget lade und das Mozilla Plugin verwende, wie kann ich dann auf einen Code zu greifen, der in einem Frame innerhalb der Seite in meinem Webgadget ist ??? Bei einfachen HTML Seiten würde ich den Code analysieren und die dort geöffnete URL separat in den Ram laden. Da es sich aber um eine Sessionabhängige PHP-Datei handelt, bin ich da eher ratlos ...
Weiss da einer einen Rat ???
Der Computer ist der beste Freund des Menschen.
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!

Die URL des Frames ermitteln und die Zieldatei entweder in ein zweites, verstecktes WebGadget() laden und dieses mit GetGadgetText() (Gibt's das seit der neuen Version, in der man auch ins Gadget streamen kann?) auslesen oder mittels manuellem HTTP-Request diese Datei laden.
Die Ziel-URl des Frames bekommst du, wenn du die Frame-Datei einfach nach dem <FRAME>-Tag parst (FindString() könnte z. B. helfen).
Die Ziel-URl des Frames bekommst du, wenn du die Frame-Datei einfach nach dem <FRAME>-Tag parst (FindString() könnte z. B. helfen).
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 126
- Registriert: 24.10.2004 21:11
- Wohnort: Ahlen
> sessionabhängige PHP-Datei handelt
Dann erkläre es mir bitte nochmal genauer: Willst du an den PHP-Code kommen? Oder generiert die PHP-Datei den HTML-Code jedesmal neu und du willst aus dem jedes Mal neu generiertem HTML-Code den Frame herausbekommen? Letzteres ist ken Problem.
> auch noch kontrolliert von welcher Datei sie geöffnet wird
Das geschieht dann über den Referrer. Kein Problem, das zu umgehen. Dann musst jedoch höchstwahrscheinlich selbst einen HTTP-Requiest schicken, in dem du den Referrer mitsendest - d. h. du kannst dich nicht auf Befehle wie URLDownloadToFile_() stützen, in der Hoffnung, dass "die das dann schon für dich machen".
Wenn du mir das genauer erklärt hast (und ich das Problem verstehe), versuche ich zu helfen.
Dann erkläre es mir bitte nochmal genauer: Willst du an den PHP-Code kommen? Oder generiert die PHP-Datei den HTML-Code jedesmal neu und du willst aus dem jedes Mal neu generiertem HTML-Code den Frame herausbekommen? Letzteres ist ken Problem.
> auch noch kontrolliert von welcher Datei sie geöffnet wird
Das geschieht dann über den Referrer. Kein Problem, das zu umgehen. Dann musst jedoch höchstwahrscheinlich selbst einen HTTP-Requiest schicken, in dem du den Referrer mitsendest - d. h. du kannst dich nicht auf Befehle wie URLDownloadToFile_() stützen, in der Hoffnung, dass "die das dann schon für dich machen".
Wenn du mir das genauer erklärt hast (und ich das Problem verstehe), versuche ich zu helfen.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
-
- Beiträge: 126
- Registriert: 24.10.2004 21:11
- Wohnort: Ahlen
Also ich möchte an den Code kommen, der innerhalb dieses Frames ist. Aber da dieser immer neu generiert wird wenn man diese Seite aufruft und immer abhängig davon wie diese geöffnet wird und von welcher Seite aus, ist das nicht so einfach.
Wenn diese Seite in diesem Frame geöffnet wird, dann kommt ein anderer Inhalt als wie wenn ich die Seite direkt in einem Webgadget öffne.
Wenn diese Seite in diesem Frame geöffnet wird, dann kommt ein anderer Inhalt als wie wenn ich die Seite direkt in einem Webgadget öffne.
Der Computer ist der beste Freund des Menschen.
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!

@ANDi
Das ist das gleiche Problem, was ich schon einmal hatte.
Man weiß zwar wie die URL ist, aber spricht man sie direkt an, liefert der Server keine brauchbaren Daten. Klickt man aber mit der Maus auf den Link, geht es merkwürdigerweise.
@DerProgrammierer78
Schau dir mal den Befehl: DownloadURL_ an.
Ich glaube, dass es ein Sicherheitsmechanismus ist, damit man nicht einfach mit BruteForce den Server bzw. deren Daten auslesen kann.
Vielleicht ist es eher ein PHP bzw. Web-Problem, aber nicht speziell PureBasic.
Kenne mich selbst nicht mit dem Ansteuern von Servern aus.
Hab aber leider feststellen müssen, dass einige Server so eingestellt sind, dass sie bei direkter Anwahl einer URL nur einen Fehler zurück geben.
Gelangt man jedoch über den Browser per "Hand" dort hin, dann geht es.
War schon so verzweifelt, dass ich mir überlegt hatte, dass man ja auch die Maussteuern könnte. Also als Remote-Anwendung.
Aber das wäre nicht ideal. Denn wenn im Hintergrund die Webseite runtergalden werden kann, kann ich meine Maus benutzen. Wenn ich aber die Maussteuerung übernehme, geht das ja nicht mehr ...
Also DerProgrammierer78, wenn du eine Lösung gefunden hast,
wie man einen Mausklick auf eine Schaltfläche / Link so simuliert, dass der Server ausgetrickst wird, gib Bescheid.
Gruß, Folker
Das ist das gleiche Problem, was ich schon einmal hatte.
Man weiß zwar wie die URL ist, aber spricht man sie direkt an, liefert der Server keine brauchbaren Daten. Klickt man aber mit der Maus auf den Link, geht es merkwürdigerweise.
@DerProgrammierer78
Schau dir mal den Befehl: DownloadURL_ an.
Ich glaube, dass es ein Sicherheitsmechanismus ist, damit man nicht einfach mit BruteForce den Server bzw. deren Daten auslesen kann.
Vielleicht ist es eher ein PHP bzw. Web-Problem, aber nicht speziell PureBasic.
Kenne mich selbst nicht mit dem Ansteuern von Servern aus.
Hab aber leider feststellen müssen, dass einige Server so eingestellt sind, dass sie bei direkter Anwahl einer URL nur einen Fehler zurück geben.
Gelangt man jedoch über den Browser per "Hand" dort hin, dann geht es.
War schon so verzweifelt, dass ich mir überlegt hatte, dass man ja auch die Maussteuern könnte. Also als Remote-Anwendung.
Aber das wäre nicht ideal. Denn wenn im Hintergrund die Webseite runtergalden werden kann, kann ich meine Maus benutzen. Wenn ich aber die Maussteuerung übernehme, geht das ja nicht mehr ...
Also DerProgrammierer78, wenn du eine Lösung gefunden hast,
wie man einen Mausklick auf eine Schaltfläche / Link so simuliert, dass der Server ausgetrickst wird, gib Bescheid.
Gruß, Folker

Kinder an die Macht http://scratch.mit.edu/
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Vielleicht will der Server gerne einen echten Headerhaben? Hier sollten irgendwo Codes von DarkDragon rumfliegen, zum Webserver ansprechen. Damit kann man diesem auch vorglaukeln, ein Mozilla-ActiveX Control zu sein.
Gr33tz
Tafkadasom2k5
Gr33tz
Tafkadasom2k5
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Ich hab da mal ein bisserl rumprobiert und ....
Nunja da es sich wohl hierbei um Ogame handelt
Screenshot lässt grüssen... musst du nur irgendwie an die SessionID rankommen....
Das kannst du aber irgendwie nicht vorher ermitteln. also, kann man da wohl nur folgendes machen (mit meinen laienhaften Fingern mein ich
)
1. Per WebGadget das Login ...
2. Den User per rechte Maustaste auf "Übersicht" - Verknüpfung kopieren lassen
3. Einfügen in ein StringGadget
4. Auslesen des StringGadgets und Voila, da ist die SessionID.
Das hat dann wunderbar mit dem auslesen per
URLDownloadToFile_(0,Link.s,Filename.s,0,0)
geklappt.
Werte aus dem txtfile auslesen und Gadgets gefüllt.... kein Problem.
Das hält natürlich nur bis zum nächsten Login, als bis die SessionID ungültig wird (IP-Wechsel usw).
Das kann man aber nachprüfen, da die Seite ja immer gleich aussieht und den User auffordern, sich neu EinzuLoggen.
Ist zwar s*umäßig umständlich, aber es funktioniert... und btw... Bots und Scripts waren doch eigentlich nicht erl... ups nix gesagt
Nunja da es sich wohl hierbei um Ogame handelt

Das kannst du aber irgendwie nicht vorher ermitteln. also, kann man da wohl nur folgendes machen (mit meinen laienhaften Fingern mein ich

1. Per WebGadget das Login ...
2. Den User per rechte Maustaste auf "Übersicht" - Verknüpfung kopieren lassen
3. Einfügen in ein StringGadget
4. Auslesen des StringGadgets und Voila, da ist die SessionID.
Das hat dann wunderbar mit dem auslesen per
URLDownloadToFile_(0,Link.s,Filename.s,0,0)
geklappt.
Werte aus dem txtfile auslesen und Gadgets gefüllt.... kein Problem.
Das hält natürlich nur bis zum nächsten Login, als bis die SessionID ungültig wird (IP-Wechsel usw).
Das kann man aber nachprüfen, da die Seite ja immer gleich aussieht und den User auffordern, sich neu EinzuLoggen.
Ist zwar s*umäßig umständlich, aber es funktioniert... und btw... Bots und Scripts waren doch eigentlich nicht erl... ups nix gesagt

-
- Beiträge: 126
- Registriert: 24.10.2004 21:11
- Wohnort: Ahlen
@ Bisonte
Danke für den Lösungsvorschlag! Ich werde das mal versuchen. Du hast das richtig erkannt, dass es sich um OGame handelt. Aber ich möchte keine illegalen Scripts erstellen, sondern nur ein kleines Tool, dass ausliest was man alles hat, dies in einer Tabelle darstellt und dann auf Wunsch errechnet, wann man genug Ressourcen hat um XYZ zu bauen. Das koppel ich dann mit einem Timer und dann fängt das Fenster in der Taskleiste an zu blinken wenn genügend Rohstoffe vorhanden sind ...
Das ist dann kein Script... nicht verboten ... aber sehr Hilfreich
:D:D
Danke für den Lösungsvorschlag! Ich werde das mal versuchen. Du hast das richtig erkannt, dass es sich um OGame handelt. Aber ich möchte keine illegalen Scripts erstellen, sondern nur ein kleines Tool, dass ausliest was man alles hat, dies in einer Tabelle darstellt und dann auf Wunsch errechnet, wann man genug Ressourcen hat um XYZ zu bauen. Das koppel ich dann mit einem Timer und dann fängt das Fenster in der Taskleiste an zu blinken wenn genügend Rohstoffe vorhanden sind ...

Das ist dann kein Script... nicht verboten ... aber sehr Hilfreich

Der Computer ist der beste Freund des Menschen.
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!

-
- Beiträge: 126
- Registriert: 24.10.2004 21:11
- Wohnort: Ahlen
Das hat leider nicht funktioniert ...
Ich bekomme beim Auslesen immer (auch nach dem Login) folgenden Code:

Ich bekomme beim Auslesen immer (auch nach dem Login) folgenden Code:
Code: Alles auswählen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta name="author" content="Gameforge Productions GmbH" />
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta name="keywords" content="OGame, Browsergame, Onlinegame, Browsergames, Browsergame, Spiel, Spiele, Onlinespiel, Onlinespiele" />
<meta name="description" content="OGame - Top Browsergame im Weltraum. Kommandiere deine Flotten." />
<meta name="robots" content="index, follow" />
<meta name="language" content="de" />
<meta name="distribution" content="global" />
<meta name="audience" content="all" />
<meta name="author-mail" content="info@ogame.de" />
<meta name="publisher" content="Gameforge Productions GmbH" />
<meta name="copyright" content="(c) 2007 by Gameforge Productions GmbH" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="pragma" content="no-cache" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<title>OGame.de</title>
</head>
<frameset rows="*,0,0" frameborder="no" border="0" framespacing="0">
<frame name="mainframe" src="home.php" frameborder="0" scrolling="auto" noresize>
</frameset>
</html>
Der Computer ist der beste Freund des Menschen.
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!
Aber wer so viele Freunde hat wie ich vergrault damit jede Frau!!!!!!!
