C#:
Verkkosivun lataaminen
How to: (Kuinka tehdä:)
using System;
using System.Net.Http;
using System.Threading.Tasks;
class WebPageDownloader
{
static async Task Main()
{
var url = "http://www.example.com";
using var client = new HttpClient();
try
{
string content = await client.GetStringAsync(url);
Console.WriteLine(content);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error fetching the page: {e.Message}");
}
}
}
Sample output:
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
</html>
Deep Dive (Syväsukellus):
Web-sivun lataamista ohjelmallisesti on tehty lähes niin kauan kuin web on ollut olemassa. Alkuaikoina käytettiin yksinkertaisia skriptejä, mutta nykyään on hienostuneempia työkaluja, kuten HttpClient C#:ssa.
Vaihtoehtoisia tapoja ladata sivuja on monia: WebClient-luokka (nykyään vanhentunut), HttpWebRequest/Response (matalamman tason hallinta), tai kolmannen osapuolen kirjastot, kuten RestSharp tai HtmlAgilityPack.
Tärkeimmät toteutusyksityiskohdat ovat virheenkäsittely (internet-yhteyksien epävarmuus), ja asynkroninen käyttö (et blokeeraa sovelluksesi toimintaa ladatessasi).
See Also (Katso myös):
- Microsoftin HttpClient-dokumentaatio: docs.microsoft.com
- Asynkronisen ohjelmoinnin perusteet C# kielisessä ympäristössä: docs.microsoft.com
- HTTP:n perusteet: Mozilla Developer Network
- HtmlAgilityPack-kirjasto: html-agility-pack.net