Webseite auslesen

  • VB6

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von hax.

    Am einfachsten wäre es, die OpenURL Methode vom
    Internet Transfer-Steuerelement zu benutzen:

    QuellCode = Inet1.OpenURL("www.news.de", icString)

    Dann hättest du den Quellcode allerdings wird während
    dieses Vorgangs dein Programm nichts mehr ausführen
    können, es ist ein asynchroner Vorgang, das sorgt
    für das ein oder andere hängenbleiben deines Programms.

    Viel effizienter wäre es, die Execute Methode aufzurufen
    und dann im StateChanged Ereignis die Seite
    als Datenpaket runterzuladen, dazu gibt es in der
    MSDN ein schönes Beispiel, obwohl mir der Datentyp
    Variant nicht sonderlich gefällt:

    <pre>
    Private Sub Inet1_StateChanged(ByVal State As Integer)
    ' Antwort vom Server mit der GetChunk-Methode
    ' auswerten, wenn State = 12 ist. Dieses Beispiel
    ' setzt voraus, daß die Daten Text sind.

    Select Case State
    ' ... Andere Fälle nicht gezeigt.

    Case icResponseReceived ' 12
    Dim vtData As Variant ' Datenvariable.
    Dim strData As String: strData = ""
    Dim bDone As Boolean: bDone = False

    ' Erstes Segment holen.
    vtData = Inet1.GetChunk(1024, icString)
    DoEvents
    Do While Not bDone
    strData = strData & vtData
    DoEvents
    ' Nächstes Segment holen.
    vtData = Inet1.GetChunk(1024, icString)
    If Len(vtData) = 0 Then
    bDone = True
    End If
    Loop

    txtData.Text = strData
    End Select


    End Sub
    </pre>

    Ein kleiner Kommentar zur GetChunk Methode, welchen
    Wert du für Size angibst solltest du dir gut überlegen,
    bei einer schnellen Verbindung kannst du einen großen
    Wert wählen, bei einer langsamen Verbindung jedoch
    nicht, wählst du aber einen zu kleinen Wert, dann
    verlierst du bei einer schnellen Verbindung viel Zeit,
    die mit senden von Anforderungen an den Server gefüllt wird.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Unknown“ ()