Datei download

21/03/2008 - 17:57 von Thomas Nuechter | Report spam
Hallo,

ich möchte für ein Projekt eine Datei downloaden und diese dann
speichern.

der Link für diese Datei ist z.b. http://KDNNR:PWD@www.ids.de/cgi-bin/scripts/get_PL.pl.

Im Browser ausgeführt funktioniert der Link einwandfrei und ich kann
eine Zip Datei runterladen.

Ich habe nun folgenden Code für den Download geschrieben:


Dim Http As System.Net.HttpWebRequest CType(System.Net.HttpWebRequest.Create(uri),
System.Net.HttpWebRequest)
Http.Credentials = New System.Net.NetworkCredential()
Http.KeepAlive = False
Http.Method = System.Net.WebRequestMethods.Http.Get
Using response As System.Net.HttpWebResponse CType(Http.GetResponse, System.Net.HttpWebResponse)
Using responseStream As IO.Stream response.GetResponseStream
Using fs As New IO.FileStream("c:\test.zip",
IO.FileMode.Create)

Dim buffer(2047) As Byte

Dim read As Integer = 0

Do

read = responseStream.Read(buffer, 0,
buffer.Length)

fs.Write(buffer, 0, read)

Loop Until read = 0 'see Note(1)

responseStream.Close()

fs.Flush()

fs.Close()

End Using

responseStream.Close()

End Using

response.Close()

End Using


Den Link bekommt das sub über den ausführen Befehl.

Wenn ich den Code ausführe bekomme ich die Meldung:

Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht
autorisiert.

Ich weiß mir leider zur Zeit keinen Rat. Habe ich einen ganz falschen
Ansatz?

Vielen Dank für Eure Hilfe im Vorraus.

Grüße
Thomas Nüchter
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
21/03/2008 - 19:14 | Warnen spam
"Thomas Nuechter" schrieb:
ich möchte für ein Projekt eine Datei downloaden und diese dann
speichern.

der Link für diese Datei ist z.b.
http://KDNNR:/cgi-bin/scripts/get_PL.pl.



Dies ist kein gültiger HTTP-URL.

Im Browser ausgeführt funktioniert der Link einwandfrei und ich kann
eine Zip Datei runterladen.

Ich habe nun folgenden Code für den Download geschrieben:

Dim Http As System.Net.HttpWebRequest >CType(System.Net.HttpWebRequest.Create(uri),
System.Net.HttpWebRequest)
Http.Credentials = New System.Net.NetworkCredential()
[...]
Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht
autorisiert.



Du setzt die Eigenschaften 'UserName' und 'Password' des
'NetworkCredential'-Objektes nicht auf Benutzernamen und Kennwort.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen