Antworten:
Sie können Dateien mit der WebClient-Klasse herunterladen :
using System.Net;
using (WebClient client = new WebClient ()) // WebClient class inherits IDisposable
{
client.DownloadFile("http://yoursite.com/page.html", @"C:\localfile.html");
// Or you can get the file content without saving it
string htmlCode = client.DownloadString("http://yoursite.com/page.html");
}
Grundsätzlich:
using System.Net;
using System.Net.Http; // in LINQPad, also add a reference to System.Net.Http.dll
WebRequest req = HttpWebRequest.Create("http://google.com");
req.Method = "GET";
string source;
using (StreamReader reader = new StreamReader(req.GetResponse().GetResponseStream()))
{
source = reader.ReadToEnd();
}
Console.WriteLine(source);
Die neueste, aktuellste und aktuellste Antwort
Dieser Beitrag ist wirklich alt (es ist 7 Jahre alt, als ich ihn beantwortet habe), daher hat keine der anderen Antworten die neue und empfohlene Methode verwendet, die HttpClientKlasse ist.
HttpClientwird als neue API betrachtet und sollte die alten ersetzen ( WebClientund WebRequest)
string url = "page url";
HttpClient client = new HttpClient();
using (HttpResponseMessage response = client.GetAsync(url).Result)
{
using (HttpContent content = response.Content)
{
string result = content.ReadAsStringAsync().Result;
}
}
Weitere Informationen zur Verwendung der HttpClientKlasse (insbesondere in asynchronen Fällen) finden Sie unter dieser Frage
Sie können es bekommen mit:
var html = new System.Net.WebClient().DownloadString(siteUrl)
Disposedas WebClient?
@cms Weg ist der neuere, auf der MS-Website vorgeschlagene, aber ich hatte ein schwer zu lösendes Problem. Beide Methoden wurden hier veröffentlicht. Jetzt poste ich die Lösung für alle!
Problem:
Wenn Sie eine URL wie diese verwenden: www.somesite.it/?p=1500In einigen Fällen wird ein interner Serverfehler (500) angezeigt, obwohl dies im Webbrowser www.somesite.it/?p=1500einwandfrei funktioniert.
Lösung: Sie müssen Parameter verschieben, Arbeitscode ist:
using System.Net;
//...
using (WebClient client = new WebClient ())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}