Heyho,
ich schreibe aktuell ein Programm, welches XML-Dateien aus dem Internet zieht. In diesen XML-Dateien stehen Links zu verschiedenen Programmen. Das Programm soll nun prüfen, ob diese Links auch erreichbar (also downloadbar!) sind. Es funktioniert auch einwandfrei, nur habe ich das Problem, dass bei einigen Links eine "falsche" Antwort zurückkommt. Als beispiel dieser Link: Klick mich :)
Eigentlich sollte doch ein Fehler dann auftreten, oder nicht?
Das ist mein kleiner Code, der die Links überprüft:
Ich habe zuerst versucht, die Datei mit 'DownloadString' herunter zu laden und dann nach "Fehler, Error, ..." weiß sonst noch was zu durchsuchen, allerdings ist das sehr sehr langsam und frisst Arbeitsspeicher bis zum geht nimmer.
Kann mir da einer Weiterhelfen?
Grüße,
KingLM97
P.S.: Ich weiß, ist wahrscheinlich schlechter Code und Denglisch, aber ich bin dabei mich zu verbessern!
ich schreibe aktuell ein Programm, welches XML-Dateien aus dem Internet zieht. In diesen XML-Dateien stehen Links zu verschiedenen Programmen. Das Programm soll nun prüfen, ob diese Links auch erreichbar (also downloadbar!) sind. Es funktioniert auch einwandfrei, nur habe ich das Problem, dass bei einigen Links eine "falsche" Antwort zurückkommt. Als beispiel dieser Link: Klick mich :)
Eigentlich sollte doch ein Fehler dann auftreten, oder nicht?
Das ist mein kleiner Code, der die Links überprüft:
VB.NET-Quellcode
- Private Sub überprüfeInhalt(ByVal strURL As String, ByVal strLabelPfad As String)
- File.CreateText(Application.StartupPath & "\Inhalt.xml").Close()
- If strURL.StartsWith("http") = False Then
- strURL = "http://" & strURL
- End If
- Dim webclient As New WebClient
- webclient.DownloadFile(strURL, Application.StartupPath & "\Inhalt.xml")
- Dim reader As XmlTextReader = New XmlTextReader(Application.StartupPath & "\Inhalt.xml")
- Do While reader.Read
- If reader.NodeType = XmlNodeType.Text Then
- Try
- Dim anfrage As WebRequest = DirectCast(WebRequest.Create(strURL), WebRequest)
- Dim antwort As WebResponse = DirectCast(anfrage.GetResponse(), WebResponse)
- antwort = anfrage.GetResponse
- antwort.Close()
- lvAusgabe.Items.Add(strLabelPfad & " " & reader.Value).BackColor = Color.LightGreen
- Catch ex As Exception
- lvAusgabe.Items.Add(strLabelPfad & " " & reader.Value).BackColor = Color.Red
- End Try
- lvAusgabe.Update
- End If
- Loop
- reader.Close()
- File.Delete(Application.StartupPath & "\Inhalt.xml")
- End Sub
Ich habe zuerst versucht, die Datei mit 'DownloadString' herunter zu laden und dann nach "Fehler, Error, ..." weiß sonst noch was zu durchsuchen, allerdings ist das sehr sehr langsam und frisst Arbeitsspeicher bis zum geht nimmer.
Kann mir da einer Weiterhelfen?
Grüße,
KingLM97
P.S.: Ich weiß, ist wahrscheinlich schlechter Code und Denglisch, aber ich bin dabei mich zu verbessern!