Prüfen ob adresse errreichbar ist

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    Prüfen ob adresse errreichbar ist

    Hallo,

    ich arbeite zur zeit an einem downloader für Comics. Dazu muss ich überprüfen ob die internetadresse erreichbar ist.
    das problem dabei ist, dass die nummer des comics unregelmäßig springt (zb. erster comic 000501, zweiter 000504, dritter 000510)
    ich habe mir folgenden Code gebastelt:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Dim webbrowser As New WebBrowser
    2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. Dim zahl As String ' Nummer des Comics in Liste später
    4. Try
    5. For comic_ = 500 To 1200
    6. zahl = comic_.ToString
    7. If zahl.Length = 3 Then
    8. zahl = "000" & zahl.ToString
    9. ElseIf zahl.Length = 4 Then
    10. zahl = "00" & zahl.ToString
    11. ElseIf zahl.Length = 5 Then
    12. zahl = "0" & zahl.ToString
    13. ElseIf zahl.Length = 6 Then
    14. zahl = "" & zahl.ToString
    15. End If ' Comic nummer muss immer 6 stellen lang sein
    16. webbrowser.Navigate("http://static.nichtlustig.de/comics/full/" & zahl & ".jpg") ' webbrowser zur adresse navigieren
    17. If webbrowser.DocumentText.Contains("The requested URL") = False Then 'prüfen ob "the requested url" im seitenquellen text nicht vorhanden ist
    18. ListBox1.Items.Add("http://static.nichtlustig.de/comics/full/" & zahl & ".jpg")
    19. 'hinzufügen zu der Liste
    20. End If
    21. Next
    22. Catch ex As Exception
    23. End Try
    24. End Sub


    das seltsame ist, dass alle comics durchweg aufgelistet werden obwohl die internetadresse nicht existiert (000501,000502,000503....)

    ___________________________________________________________
    mfg faxe10008

    8-) faxe1008 8-)
    Hey,

    Du solltest für Dein Vorhaben kein WebBrowserControl verwenden. Es gibt WebClient, WebRequest, die allesamt besser arbeiten als dieses Control. Schau mal das Forum danach ab, es gibt Unmengen an Beispielen.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Du könntest Dir beispielsweise eine Funktion basteln, die prüft, ob die Datei vorhanden ist. Das ist ja im Endeffekt Dein Vorhaben. Ich hab Dir mal kurz was getippt. Keine Garantie auf Richtigkeit, es gibt bestimmt eine bessere Methode, aber diese ist mir nicht bekannt.

    VB.NET-Quellcode

    1. Private Function CheckRemoteFileExists(ByVal url As String) As Boolean
    2. Dim hReq As HttpWebRequest = DirectCast(HttpWebRequest.Create(url), HttpWebRequest)
    3. hReq.Proxy = Nothing
    4. hReq.Timeout = 1000
    5. Try
    6. Using hRes As HttpWebResponse = DirectCast(hReq.GetResponse(), HttpWebResponse)
    7. If hRes.StatusCode = HttpStatusCode.OK Then
    8. Return True
    9. Else
    10. Return False
    11. End If
    12. End Using
    13. Catch ex As Exception
    14. Return False
    15. End Try
    16. End Function
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o