URI-Format wird nicht unterstützt...?!

smax

Grünschnabel
Will ein txt-File einlesen und zwar folgendermassen:

Code:
Dim oRead As StreamReader = New StreamReader("http://localhost/projekt/" &  Name & "/detail.txt")

Da bringt er mir die Fehlermeldung "URI-Format wird nicht unterstützt.

What's wrong? :confused:

Liegt es vielleicht daran, dass in der Variable "Name" (ein String) Leerzeichen vorhanden sind? Wenn ja, was kann ich machen? :confused:

Nachtrag: Nein, tut es nicht *grummel*
 
Zuletzt bearbeitet:

Alexander Schuc

crazy-weasel
Hallo,

wenn du einen Stream zu einer Datei im Internet haben willst,
musst du auf die WebRequest Klasse zugreifen.

Code:
Dim URL As String = "http://www.microsoft.com";
Dim request As HttpWebRequest = WebRequest.Create(URL)
Dim response As HttpWebResponse = request.GetResponse()
Dim reader As StreamReader = New StreamReader
(response.GetResponseStream())
Dim str As String = reader.ReadLine()

Do While str.Length > 0
Console.WriteLine(str)
str = reader.ReadLine()
Loop

Von hier ist der Source


Mfg,
Alex
 

smax

Grünschnabel
Genau das, was ich inzwischen rausgefunden habe :D

Vielen Dank trotzdem :)

Wie verhält es sich denn mit Verzeichnissen? D.h. wenn ich beispielsweise alle Dateien eines Verzeichnisses einlesen will?

Code:
            'Verzeichnis einlesen
            req = WebRequest.Create("http://localhost/projekt/" + Name)
            req.Method = "GET"
            resp = req.GetResponse()
            oFolder = oFSO.GetFolder(resp.GetResponseStream())

Funktioniert nicht...ist GetFolder nur lokal!?

Gruss smax
 

Alexander Schuc

crazy-weasel
Ja, GetFolder wird auch nur lokal sein.
Wenn du alle Dateien aus einem Ordner auslesen willst könntest du folgendes machen.

Du erstellst ein ASP/ASP.Net/PHP Script das alle Dateien des Ordners in dem sich befindet in einfacher Textform auflistet.
Dieses Script rufst du mit der WebRequest-Klasse auf, und den Inhalt dieser Datei wertest du dann aus.

Wenn zum Beispiel alle Dateien mit einem ';' von einander trennst, splitest du diesen String und schon hast du ein Array mit allen Dateinamen.


Hoffe das hilft irgendwie.

Mfg,
Alex
 

smax

Grünschnabel
Original geschrieben von Alexander Schuc
Ja, GetFolder wird auch nur lokal sein.
Wenn du alle Dateien aus einem Ordner auslesen willst könntest du folgendes machen.

Du erstellst ein ASP/ASP.Net/PHP Script das alle Dateien des Ordners in dem sich befindet in einfacher Textform auflistet.
Dieses Script rufst du mit der WebRequest-Klasse auf, und den Inhalt dieser Datei wertest du dann aus.

Wenn zum Beispiel alle Dateien mit einem ';' von einander trennst, splitest du diesen String und schon hast du ein Array mit allen Dateinamen.


Hoffe das hilft irgendwie.

Mfg,
Alex

Das würde mir sicherlich was helfen.... wenn ich was von Programmieren verstünde ;)

Lokal wäre das ja ganz einfach:

Code:
'Alle Dateien des Senders anzeigen
            req = WebRequest.Create("http://localhost/projekt/" + rName)
            req.Method = "GET"
            resp = req.GetResponse()
            oFolder = oFSO.GetFolder(resp.GetResponseStream())

            'alle Dateien durchlaufen
            For Each oFSOFile In oFolder.Files
            'nur .lnk Dateien!
            If LCase$(oFSO.GetExtensionName(oFSOFile)) = "lnk" Then
            lstSpots.Items.Add(oFSOFile.Name)
            End If
            Next


Ein Codebeispiel oder ein Link wären sicherlich sehr nützlich...

(boah, fühle ich mich doof :rolleyes: :) )