WebClient on yksinkertainen luokka websivujen(/tiedostojen) hakemiseen ja lomakkeiden lähettämiseen.
WebClient client = new WebClient();
// ladataan jonkin sivun lähdekoodi
string source1 = client.DownloadString("http://www.sivusto.com");
// joskus eo. metodilla saattaa ääkköset olla sekaisin
// jos tietää sivustolla käytetyn enkoodauksen, voi lähdekoodin ladata myös seuraavasti
string source2 = Encoding.UTF8.GetString(client.DownloadData("http://www.sivusto.com"));
// tiedoston lataaminen
client.DownloadFile("http://www.sivusto.com/tiedosto.txt", "tiedosto.txt");
static void Main(string[] args)
{
WebClient client = new WebClient();
// ladataan taustalla
// kun lataus on valmis, kutsutaan metodia client_DownloadDataCompleted
client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(client_DownloadDataCompleted);
// aloitetaan lataaminen
client.DownloadDataAsync(new Uri("http://www.sivusto.com"));
}
static void client_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
// lähdekoodi muuttujaan
string source = Encoding.UTF8.GetString(e.Result);
}
NameValueCollection loginData = new NameValueCollection();
loginData.Add("username","käyttäjätunnukseni");
loginData.Add("password", "salasanani");
WebClient client = new WebClient();
string source = Encoding.UTF8.GetString(client.UploadValues("http://www.sivusto.com/login", loginData));
// cookien poimiminen
string cookie = client.ResponseHeaders["Set-Cookie"];
// cookien asettaminen
client.Headers["Cookie"] = cookie;