C#:
Een webpagina downloaden

Hoe te:

C# maakt het eenvoudig om een webpagina te downloaden met de HttpClient klasse. Hier volgt een snel voorbeeld:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            try
            {
                string url = "http://example.com"; // Vervang door de gewenste URL
                HttpResponseMessage response = await client.GetAsync(url);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                
                Console.WriteLine(responseBody); // Geeft de ruwe HTML-inhoud weer
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine("\nUitzondering Opgelopen!");
                Console.WriteLine("Bericht :{0} ", e.Message);
            }
        }
    }
}

Dit zal de HTML-inhoud van de opgegeven webpagina naar de console uitvoeren.

Diepere Duik

Vóór HttpClient, gebruikte C# klassen zoals WebClient en HttpWebRequest om webinhoud te downloaden. HttpClient is de nieuwste en is ontworpen om herbruikbaar, efficiënt te zijn, en ondersteunt asynchrone bewerkingen, wat het de voorkeurkeuze maakt voor nieuwe applicaties.

Er bestaan alternatieven. Zo kunnen bijvoorbeeld externe bibliotheken zoals HtmlAgilityPack HTML analyseren, wat het gemakkelijker maakt om door de DOM te navigeren of specifieke stukjes informatie te extraheren zonder te hoeven omgaan met rauwe HTML-strings.

Bij het downloaden van webpagina’s, vergeet niet: respecteer robots.txt-bestanden, handel uitzonderingen af, en wees bewust van de gebruiksvoorwaarden van websites.

Zie Ook