Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0228: Dateien via Winsock Laden

 von 

Beschreibung 

Wie dieses Beispiel zeigt, könnnen Dateien auch mit der Winsock aus dem Netz geladen werden.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [2,11 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
' Die Komponente ' (MSWINSCK.OCX)' wird benötigt.

'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Textfeld "Text1"
' Steuerelement: Windows Socket "Winsock1"
' Steuerelement: Schaltfläche "Command1"


Private Sub Command1_Click()
  Command1.Enabled = False
  MousePointer = vbHourglass
  DoEvents
  Winsock1.RemoteHost = "activevb.de"
  Winsock1.RemotePort = 80
  Winsock1.Connect
End Sub

Private Sub Winsock1_Close()
  Command1.Enabled = True
  MousePointer = vbDefault
End Sub

Private Sub Winsock1_Connect()
  Dim Cmd$, URL$
     
    URL = "http://www.activevb.de/vb/VBhome.html"
    Cmd = "GET " & URL & " HTTP/1.0" & vbCrLf & "Accept: */*" & _
          vbCrLf & "Accept: text/html" & vbCrLf & vbCrLf
          
    Winsock1.SendData Cmd
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim Data$
  
    Winsock1.GetData Data, vbString
    Text1.Text = Text1.Text & Data
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 17 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von chris am 05.01.2009 um 12:59

Hallo Active-VB-Team,
wenn man dieses Fenster schließen, will, hängt sich dabei VB6 auf.
Wenn Sie diese beiden Codeschnipsel noch einbinden, ist das Problem behoben ;).

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Winsock1.Close
End Sub

Private Sub Form_Unload(Cancel As Integer)
Winsock1.Close
End Sub


LG
chris

Kommentar von Minos am 20.09.2003 um 14:44

Wie kann man rauskriegen wann die Datei komplett da ist?

Kommentar von TheFuture am 31.08.2003 um 18:15

ImmortalFire:

Mach mal nen Rechtsklick auf deine Leiste mit den Steuerelementen und klicke auf Komponenten

Kommentar von ImmortalFire am 31.08.2003 um 17:27

ICh hätte gerne active x mapi und mswinsock steuer elemente in visual basic aber wie bekomme ich die ??? BITT antwortet mir Hier in dieser homepage

Kommentar von TheFuture am 27.08.2003 um 13:43

Also wenn man bei mir zweimal auf Seite laden drückt stürzt die Engine ab, ist das bei euch auch so? Und ist es zufällig möglich, dass das ganze auch in eine Datei gespeichert wird und nicht in nem Textfeld ausgegeben wird?

Kommentar von Michael Kass am 24.04.2003 um 21:36

Ich hatte das Problem, dass ich keines der beiden Steuerelemente habe. Woher kann ich diese Steuerelemente bekommen?

Kommentar von byterex am 22.03.2003 um 00:16

Also ich bin totaler newbie in vb und hab den code einfach mal so uebernommen naetuerlich mit anderen namen usw. Bei mir taucht ein fehler auf und zwar in der Zeile wo " Text1.Text = Text1.Text & Data " steht woran liegt das ?

Kommentar von Ancestor am 13.04.2002 um 17:36

Ich habe das Problem das ich einige kleiere Textdateien mit der biary routine nicht ordentlich runterladen kann. Nach dem connect folgt sofort das close event so das die datei nur zum teil runtergeladen wird. Auch mit den Proxys weiß ich noch nicht wie man diese einbindet. Kann mir Jemand helfen?
Anc

Kommentar von Thomas Bachem am 12.11.2001 um 14:22

Wegen Binaries usw.: Guckt mal auf www.shadoware.de/show.pl?vb/filedownload.html, da steht das alles noch etwas ausführlicher.
Grüße
- Thomas

Kommentar von Sandro Knauss am 04.11.2001 um 12:55

Hallo,
gutes Beispiel, aber was hat die lange Textzeile bei "cmd =..." genau zu bedeuten:
Was heißt: HTTP/1.0?
Und was accept: */*?
usw.
danke für baldige Rückmeldung

Kommentar von Bodo am 06.09.2001 um 17:09

Ich würd gern mal wissen wie man exes und andere Dateien im Binary format rüberkriegt.Ich fände es total super, wenn mal jemand nen tip verfasst, der sich mit dem download von Binary Datei und deren speicherung ohne das Internet-ÜbertragungsProtokol befasst:-)

Kommentar von Arcus am 24.07.2001 um 12:13

GiniS' Problem mit dem Header vor Dateien habe ich recht einfach behoben. Der Header endet mit zwei aufeinander folgenden CrLf, wodurch die Zeile
incomingData = Right(incomingData, Len(incomingData) - InStr(1, incomingData, (vbCrLf + vbCrLf)) + 1)
Das Problem eigentlich beheben sollte.

Kommentar von GingiS am 19.07.2001 um 11:21

Wie krieg ich es hin, dass wenn ich eine Datei damit runterlade, nicht immer den ganzen HTML-Header mit runterlade, weil dadurch werden z.B. zip-Dateien ungültig!!

Kommentar von Eizsbear am 12.06.2001 um 20:34

Bei meinem Prog will einfach nicht die Close-Sub funzen!! Ich habe 2 Programme die miteinander Daten austauschen.. Wenn einer von beiden die Verbindung schließt soll erst eine Nachricht an den andern gegeben werden.. Kann mir wer helfen??

Kommentar von PJG am 28.05.2001 um 14:09

Gute Frage! Wie stell ich die Kiste für den Proxy ein? Nur mit dem Port ist es nicht getan.

Kommentar von Björn Gmeiner am 06.03.2001 um 22:21

Wie bekommt man den RemoteHost einer Seite heraus?

Kommentar von LuniX am 14.02.2001 um 18:05

Ähm, wie nutzt man das Ding mit einem Proxy ?