Fehler Event Text Datei von Website abfragen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von sdcleitung.

    Fehler Event Text Datei von Website abfragen

    Hey,
    ich rufe eine Textdatei von einer Website ab:

    VB.NET-Quellcode

    1. Dim request As System.Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create("http://domain.de/Datei.txt"), System.Net.HttpWebRequest)


    Wie kann ich jetzt eine MsgBox ausgeben lassen wenn der Server nicht antwortet, also z.B. down ist. Also praktisch eine maximal Ladezeit für die Textdatei ?
    Ping ihn zuerst mal an würd ich sagen dann siehst du ob er online ist oder nicht.
    Oder deine Abfrage in Try Catch Block setzen und Fehler ausgeben lassen.
    Gibt also mehrer Möglichkeiten solche fehler abzufangen.

    MFG
    GOOGLE ist mein Meister :)
    Hey,
    ja ok ich habe es mit Try Catch ... gemacht, aber wie kann ich da einstellen das es nach einer bestimmten Teil die Fehlermeldung anzeigt. Wenn der Server z.B. unter DDoS Angriff steht braucht er ziemlich lange bis er antwortet.
    Wenn nun die Textdatei bei FormLoad abgefragt wird dauert es ewig bis das Programm angezeigt wird ...
    Versuchs mal hiermit:


    VB.NET-Quellcode

    1. If online() = True Then
    2. MsgBox("erreichbar")
    3. Else
    4. MsgBox("nicht erreichbar")
    5. End If
    6. Private Function online()
    7. Try
    8. Dim Response As Net.WebResponse = Nothing
    9. Dim WebReq As Net.HttpWebRequest = Net.HttpWebRequest.Create("http://domain.de")
    10. Response = WebReq.GetResponse
    11. Response.Close()
    12. Return True
    13. Catch
    14. Return False
    15. End Try
    16. End Function


    Sollte eigentlich nicht solange dauern die abfrage.

    MFG
    GOOGLE ist mein Meister :)
    Hey,
    Erstmal Danke für deine Hilfe, aber wenn der Server jetzt aber unter DDoS steht und einfach nur ungewöhnlich lange benötigt um die Textdatei wiederzugeben bringt mir diese Lösung nichts.
    Wie gesagt würde ich deshalb gerne einstellen nach z.B 5 Sekunden Return False kommt (und dann eben die MsGBox) ...
    Kein Problem :) dafür ist das Forum da soweit ich weiß :)
    Ach jetzt verstehe ich was du meinst :)

    hmm das ist ne gute frage..

    Du könntest einfach die anfrage solange wiederholden lassen bis er die datei geladen hat und wenns nach 5 mal versuchen nicht geht dann eben auf false setzen.


    zb so:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. If online() = True Then
    3. MsgBox("erreichbar")
    4. Else
    5. MsgBox("nicht erreichbar")
    6. End If
    7. End Sub
    8. Private Function online()
    9. Dim zähler As Integer
    10. Try
    11. Dim Response As Net.WebResponse = Nothing
    12. Dim WebReq As Net.HttpWebRequest = Net.HttpWebRequest.Create("http://domain.dde")
    13. Response = WebReq.GetResponse
    14. Response.Close()
    15. Return True
    16. Catch
    17. zähler += 1
    18. If zähler = 5 Then
    19. Return False
    20. End If
    21. End Try
    22. End Function


    Ansonsten wüsste ich jetzt nicht wie er das erkennen soll das der server unter ddos steht.

    Müsste man sich mal schlau machen.
    GOOGLE ist mein Meister :)
    Hey,

    VIELEN DANK hat alles funktioniert ;)

    Allerdings habe ich jetzt noch eine Frage. Wenn der Server down ist und die Message Box angezeigt wird hat diese in der Taskleiste keinen Icon. Kann ich es einstellen das die MsgBox in der Taskleiste nicht angezeigt wird bzw einen Icon hat?
    Kein Problem.

    Meinst du den Style der MsgBox?

    VB.NET-Quellcode

    1. MsgBox("error^^", MsgBoxStyle.Critical)


    MFG
    GOOGLE ist mein Meister :)
    Hey,
    nein den meinte ich nicht. Wenn du ein Programm öffnest wird es ja in der Taskleiste angezeigt. Und dort sollte ein Icon sein. Wenn die MsgBox vor der ersten Form angezeigt wird bekommt diese den Icon für Programme ohne Icon. Und da möchte ich jetzt meinen eigenen Icon bzw. das die MsgBox eben nicht in der Taskleiste angezeigt wird.
    Bin mir jetzt echt nicht sicher was du meinst ^^ sry

    wenn du allerdings das standard icon raus haben willst und ein anderes rein dann steht rechts in den eigenschaften ICON wo du es ändern kannst.

    ne idee wenn du ein anderes icon als vom standardfenster in deiner msgbox haben willst lass ne neue Form statt der msgbox aufspringen und ändere es ebenfals in den eigenschaften.

    MFG
    GOOGLE ist mein Meister :)