WebGadget - HTML Seite in Variable speichern

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

mir vor den kopp hau..... :oops:

....äh....stimmt ja-aber theoretisch könnte man mit sonem prog die css datei doch runterladen und einbinden?
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!
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

ja .. alles was im Web "anfassbar" ist, kann downgeloadet werden.
1. HTML-Code speichern (wie oben)
2. den analysieren auf externe Verweise, Bilder,Scripte,CSS usw.
3. diese alle runterladen
4. freuen.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
OptimusPrime
Beiträge: 43
Registriert: 07.03.2005 16:52

Beitrag von OptimusPrime »

Jupp,
da müsste man halt einen Lokalisator für die benötigten CSS Dateien und Bilder schreiben, anders tut es ein Browser ja auch nicht, und diese Downloaden, die Verzeichnisangaben kann man in dem Rutsch auch gleich gegen die lokalen austauschen...

Denke dass wird schon, die Idee ist gut ^^ :)...
guruk
Beiträge: 45
Registriert: 18.08.2005 16:14
Wohnort: Egypt / Red Sea / South Sinai / Dahab
Kontaktdaten:

:) Hilfe

Beitrag von guruk »

Habe hier eine "saudumme" Url:

https://www.openbc.com/cgi-bin/user.fpl ... pl?op=home

Wie Ihr seht setzen Die am Schluss noch dieses &dest=/ hintenan.
Ohne dem kann nicht einloggen.

Wenn ich die Seite ueber Weggadget aufrufe bzw. ueber diese

Code: Alles auswählen

Procedure.s OpenURL(Url.s, OpenType.b) 
  isLoop.b=1 
  INET_RELOAD.l=$80000000 
  hURL.l=0: Bytes.l=0 
  Buffer.s=Space(1024) 
  hInet = InternetOpen_("PB@INET", OpenType, #NULL, #NULL, 0) 
  hURL = InternetOpenUrl_(hInet, Url, #NULL, 0, INET_RELOAD, 0) 

  Repeat 
    Delay(1) 
    While WindowEvent() : Delay(10) : Wend 
    InternetReadFile_(hURL, @Buffer, Len(Buffer), @Bytes) 

    If Bytes = 0 
      isLoop=0 
    Else 
      res.s = res + Left(Buffer, Bytes) 
    EndIf 
  Until isLoop=0 
  
  InternetCloseHandle_(hURL) 
  InternetCloseHandle_(hInet) 
  ProcedureReturn res 
EndProcedure 
dann komme ich gut weiter.
!!! Problem.. obiger Code bremst ein erzeugtes Window beim URL Laden total aus

Nun wollte ich Deine Routine versuchen,, doch dabei.. ebenso wie bei allen anderen proceduren die auf GET aufbauen erhalte ich einen Fehler.

Wohl wird dieser ANHANG falsch geparst, da er ein erneutes ? enthaelt.

Was laesst sich da tun????

Im Effekt will ich nur diese Seite so aufrufen und verhindern, dass bei Laden mein erzeugtes Window gebremst wird.

Gruss
Christian

Edit by Kiffi: Code-Tags gesetzt
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

GPI hat ein paar Funktionen gebaut, die dein Problem mit der Verzögerung löst. Findest du unter "Allgemein", da musst du dann nach "HTTP" suchen.

Das "?" da hinten muss eigtl. encodiert werden, afaik mit UTF-8, weiß ich aber nicht. Ich bin mir auch nicht sicher, ob das einloggen immer noch funktioniert, wenn dieses Fragezeichen encodiert ist.


Grüße,
Simon
Ich bin Ausländer - fast überall
Windows XP Pro SP2 - PB 4.00
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

so geht's (aber wohl auch nur weil der Server sowas auch auf Port 80 animmt).

Code: Alles auswählen

InitNetwork() 
ConnectionID = OpenNetworkConnection("www.openbc.com", 80) 
Debug ConnectionID 
buf$="GET /cgi-bin/user.fpl?op=login&login_user_name=xxxx&login_password=yyyyyyy&dest=/cgi-bin/user.fpl?op=home HTTP/1.0"+Chr(10)+Chr(10) 
Buffer = AllocateMemory(100) 
SendNetworkData(ConnectionID, buf$, Len(buf$)) 
CreateFile(0,"c:\anal.html") 
While ReceiveNetworkData(ConnectionID, Buffer, 100) 
    WriteString(PeekS(Buffer)) 
Wend 
CloseFile(0) 
CloseNetworkConnection(ConnectionID) 
Debug "das war's" 
RunProgram("c:\anal.html")
Aber was willst Du damit ????
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
guruk
Beiträge: 45
Registriert: 18.08.2005 16:14
Wohnort: Egypt / Red Sea / South Sinai / Dahab
Kontaktdaten:

COOKIES

Beitrag von guruk »

hALLO Bobobo,
danke, ... nun ist der Punkt, dass es nicht geht, da keine Cookies mit dieser Routine akzeptiert werden. Sollten wir das noch hinbekommen, sollte das Einloggen klappen.

Was ich damit will?
Ich bin selber User in dem Forum und es nervt mich tierisch wenn ich alle neuen user EINZELN per Hand durchsuchen muss (oder auch selektierte User) was sie denn so SUCHEN. Mein kleines Prog soll nur einloggen, die Daten einlesen und mir relaxt auf dem Bildschirm nur anzeigen was sie suchen. Wenn ich was dazu habe, clicke ich den User an und erhalte die restlichen Details.

Alles waere wunnebar, wenn ich eine Routine haette, welche eben mit der entsprechenden Url umgehen kann, die Cookies verarbeitet und letztendlich nicht mein ListIconGadget dermassen bremst, dass das Arbeiten fast unmoeglich wird.

Wuerde mich freuen wenn Dir was einfaellt.
greets aus dem hoellisch heissen Sinai
christian
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

wenn überhaupt dann nach dem Urlaub
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Marvin
Beiträge: 497
Registriert: 17.07.2005 14:42
Wohnort: Krikkit

Beitrag von Marvin »

ich werd das prog wohl auch nutzen ABER ich habe noch ein problem:
wenn ich die fertige anal.html mit RunProgram() aufrufe, wird der internet explorer (bei windows) oder der konqueror (bei linux) gestartet. ich will aber, das mein prog das auch allein anzeigen kann. wenn ich also ein WebGadget benutze, dann funtzt's erstens unter linux nicht, und zweitens brauch ich auch bei windows den internet explorer (ab version 4.0 (glaub ich <) ))! ich will aber, dass mein prog das ohne jegliche äußere hilfe hinkriegt! ich könnte ja versuchen, den html-code auszulesen, aber wenn ich zum beispiel das hier finde:

Code: Alles auswählen

<input type=button value="Button" onclick="click()">
dann müsste ich ja einen button erstellen und gleichzeitig nach dem script-befehl "click()" suchen... aber das würde bedeuten, dass ich sämtliche html-, javascript- + vb-befehle einprogrammiert haben müsste, und das wäre ja ein bisschen sehr aufwändig :| (außerdem kann ich nicht sehr viel html, vb kann ich noch weniger und javascript schon gar nich...). kann mir jemand helfen?
guruk
Beiträge: 45
Registriert: 18.08.2005 16:14
Wohnort: Egypt / Red Sea / South Sinai / Dahab
Kontaktdaten:

So ist es

Beitrag von guruk »

Wenn ich dich richtig verstanden habe, dann ist es jedoch auch genau so wie Du geschrieben hast.

Die Browser wie Explorer sind ja auch nur HTML Interpreter.
Solltest Du ohne Zuhilfenahme eines externen Interpreters wie dem Win Explorer einen HTML Code interpretieren wollen, dann wirst Du wohl kaum umher kommen, einen eigenen Interpreter programmieren zu muessen, Du musst ihm ja nicht jeden Befehl verstehen lassen muessen.
Vielleicht entwickelst Du den naechsten Systemuebergreifenden Superbrowser.

Sollte jemand anderer weiterhelfen koennen, ich wuerde mich freuen.

Gruss Christian
http://www.guruk.com
Antworten