Jawaban:
Anda dapat mengunduh file dengan kelas WebClient :
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");
}
pada dasarnya:
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);
Jawaban terbaru, terbaru, up to date
Postingan ini benar-benar lama (sudah berumur 7 tahun saat saya menjawabnya), jadi tidak ada jawaban lain yang menggunakan cara baru dan yang direkomendasikan, yaitu HttpClientkelas.
HttpClientdianggap sebagai API baru dan harus menggantikan yang lama ( WebClientdan 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;
}
}
untuk informasi selengkapnya tentang cara menggunakan HttpClientkelas (terutama dalam kasus asinkron), Anda bisa merujuk pertanyaan ini
Anda bisa mendapatkannya dengan:
var html = new System.Net.WebClient().DownloadString(siteUrl)
Disposeyang WebClient?
Cara @cms adalah yang lebih baru, disarankan di situs web MS, tetapi saya memiliki masalah yang sulit dipecahkan, dengan kedua metode yang diposting di sini, sekarang saya memposting solusi untuk semua!
masalah:
jika Anda menggunakan url seperti ini: www.somesite.it/?p=1500dalam beberapa kasus Anda mendapatkan kesalahan server internal (500), meskipun di browser web ini www.somesite.it/?p=1500berfungsi dengan baik.
solusi: Anda harus memindahkan parameter, kode kerja adalah:
using System.Net;
//...
using (WebClient client = new WebClient ())
{
client.QueryString.Add("p", "1500"); //add parameters
string htmlCode = client.DownloadString("www.somesite.it");
//...
}