Weils ja doch öfter mal gefragt wird und ich die SuFu leid bin, pack ichs endlich mal hier in Tipps & Tricks rein:
Mit folgendem Code lässt sich eine Datei (z.B. HTML, Text, XML, ...) über HTTP in einen String herunterladen.
Eine Datei ist natürlich nicht unbedingt eine reale Datei; sie kann auch zu 100% per PHP erzeugt werden, zum Beispiel um mit einer Datenbank im Internet zu arbeiten und PHP sendet dann irgendwas in Textform zurück.
Zur Erklärung:
Der Try-Catch-End Try-Block fängt Fehler ab. Wer Fehler behandeln will (z.B. Adresse nicht erreichbar), macht das im Catch-Block. Dieser muss dann auf Catch ex as Exception o.Ä. geändert werden, über die Properties kann man die Fehlermeldung ausgeben lassen. Wer sich die Arbeit nicht antun will, kann auch einfach das Try, Catch und End Try entfernen und die "normalen" Fehlermeldungen von .net anzeigen lassen.
Die erste Zeile nach dem Try erstellt ein HttpWebRequest (es wird also eine Anfrage an den Server formuliert).
Die folgende Zeile sendet die Anfrage dann ab und erzeugt ein Response-Objekt. Dieses kann dann dazu verwendet werden die Antwort vom Server einzulesen.
Die dritte Zeile erzeugt einen StreamReader, der eben Text aus dem Response-Objekt ziehen kann.
In der vierten Zeile wird genau das gemacht und das "Ergebnis" in einen String gepackt.
Die letzte Zeile gibt dann noch die Resourcen frei, die für die Serverantwort verwendet wurden.
Keywords: VB.net, VB2005, Visual Basic 2005, HTTP, HTML, PHP, Download, HttpWebRequest, WebRequest, HttpWebResponse, StreamReader, readToEnd, System.IO, System.Net, System.Text
Mit folgendem Code lässt sich eine Datei (z.B. HTML, Text, XML, ...) über HTTP in einen String herunterladen.
Eine Datei ist natürlich nicht unbedingt eine reale Datei; sie kann auch zu 100% per PHP erzeugt werden, zum Beispiel um mit einer Datenbank im Internet zu arbeiten und PHP sendet dann irgendwas in Textform zurück.
VB.NET-Quellcode
- Imports System
- Imports System.IO
- Imports System.Net
- Imports System.Text
- Try
- Dim request As HttpWebRequest = DirectCast(WebRequest.Create("http://example.com/"), HttpWebRequest) 'in dieser Zeile deine URL angeben
- Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
- Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
- Dim myString as String = reader.ReadToEnd() 'das hier ist dein String
- If Not response Is Nothing Then response.Close()
- Catch
- ' catch or ignore errors here
- End Try
Zur Erklärung:
Der Try-Catch-End Try-Block fängt Fehler ab. Wer Fehler behandeln will (z.B. Adresse nicht erreichbar), macht das im Catch-Block. Dieser muss dann auf Catch ex as Exception o.Ä. geändert werden, über die Properties kann man die Fehlermeldung ausgeben lassen. Wer sich die Arbeit nicht antun will, kann auch einfach das Try, Catch und End Try entfernen und die "normalen" Fehlermeldungen von .net anzeigen lassen.
Die erste Zeile nach dem Try erstellt ein HttpWebRequest (es wird also eine Anfrage an den Server formuliert).
Die folgende Zeile sendet die Anfrage dann ab und erzeugt ein Response-Objekt. Dieses kann dann dazu verwendet werden die Antwort vom Server einzulesen.
Die dritte Zeile erzeugt einen StreamReader, der eben Text aus dem Response-Objekt ziehen kann.
In der vierten Zeile wird genau das gemacht und das "Ergebnis" in einen String gepackt.
Die letzte Zeile gibt dann noch die Resourcen frei, die für die Serverantwort verwendet wurden.
Keywords: VB.net, VB2005, Visual Basic 2005, HTTP, HTML, PHP, Download, HttpWebRequest, WebRequest, HttpWebResponse, StreamReader, readToEnd, System.IO, System.Net, System.Text
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()