Hallo erstmal. Da ich hier neu bin möchte ich mich euch mal kurz vorstellen.
Nachdem ich jetzt nach Jahren des Parallelbetriebs endgültig auf Linux umgestiegen bin, musste ich zwangsweise auch die Programmiersprache ändern. Da ich 1.) zu Windows Zeiten QBasic, Profan, später Visual Basic programmiert haben und 2.) zu faul bin jetz C zu lernen, habe ich Gambas für mich entdeckt. Und auf der Suche nach Hilfe hab ich dann dieses schöne Board hier entdeckt...
Und nu zu meinem Problem:
Ich möchte eine Art Downloadmanager schreiben. Nur das Prolem ist das ich nicht weiss wie ich per Gambas Dateien aus dem Internet herunterladen kann. Und vBasic war es per Socket noch relativ einfach, aber hier hänge ich jetzt komplett.
Momentan habe ich das Problem per Shell, Konsole und wget gelöst, aber das is nicht das gelbe vom Ei.
Würde mich sehr freuen wenn mir jemand von euch helfen könnte oder vllt. einen Link zu einem Beispielcode hätte. Ich komme nämlich jetzt garnicht mehr weiter. Danke schonmal
Datei runterladen
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Moin und Willkommen Replay!
Hast Du schonmal auf die Linksammlung gewechsel und dort die Beispiele durchstöbert?
Zudem haben wir hier auch einen kleinen Downloadbereich.
Evtl. ist da was dabei
Hast Du schonmal auf die Linksammlung gewechsel und dort die Beispiele durchstöbert?
Zudem haben wir hier auch einen kleinen Downloadbereich.
Evtl. ist da was dabei

Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Am einfachsten gehts mit der Klasse HttpClient (Komponente gb.net.curl)
Wenn du Socket benutzen willst mußt du dann das gesamte Protocol selbst schreiben (Komponente gb.net)
mfg. nibbana
Code: Alles auswählen
client = NEW HttpClient
client.url = "http://localhost:8085" ' gesuchte Addresse
client.get("/tmp/test.html") ' Seite laden und als "/tmp/test.html" abspeichern
Code: Alles auswählen
ReadHTMLSite("www.gambas-club.de", "/")
PUBLIC SUB ReadHTMLSite(host AS String, OPTIONAL site AS String = "/", OPTIONAL port AS Integer = 80)
DIM sock AS Socket
DIM s, result AS String
' socket anlegen
sock = NEW Socket
' socket öffnen für direkte verbindung ins internet
'sock.Connect(host, port)
' oder über einen proxy auf port 8095
sock.Connect("localhost", 8095)
' auf verbindung warten
DO WHILE (sock.Status <> 7) AND (sock.Status > 0)
WAIT 0.1
LOOP
IF sock.Status <> 7 THEN
Error.Raise("kann verbidung nich herstellen")
ENDIF
' minimalen http-header senden
IF port = 80 THEN
s = Subst("GET http://&1&2 HTTP/1.0\r\n", host, site)
ELSE
s = Subst("GET http://&1:&2&3 HTTP/1.0\r\n", host, port, site)
ENDIF
WRITE #sock, s, Len(s)
s = Subst("Host: &1\r\n", host)
WRITE #sock, s, Len(s)
s = "User-Agent: Gambas not VB\r\n" ' ;-)
WRITE #sock, s, Len(s)
s = "\r\n"
WRITE #sock, s, Len(s)
' auf antwort warten
DO WHILE Eof(sock) <> FALSE
WAIT 0.1
LOOP
' http-header lesen
REPEAT
LINE INPUT #sock, result
PRINT "Header -> "; result
UNTIL Len(result) = 0
' html-document lesen
READ #sock, result, Lof(sock)
CLOSE #sock
PRINT "********** Document **********"
PRINT result
END
"Ich denke, also bin ich." (Descartes)
"Ich denke nicht, also was?" (Zen Meister Seung Sahn)
"Ich denke nicht, also was?" (Zen Meister Seung Sahn)
Wer ist online?
Mitglieder in diesem Forum: Bing [Bot] und 4 Gäste