C#:
Webseite herunterladen

Wie geht das?

Mit C# kannst du eine Webseite mit einigen Zeilen Code herunterladen. Hier ist ein einfaches Beispiel mit HttpClient, einer Klasse, die in der .NET-Standardbibliothek enthalten ist.

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

class Program
{
    static async Task Main()
    {
        using (HttpClient client = new HttpClient())
        {
            try
            {
                string url = "https://example.com";
                HttpResponseMessage response = await client.GetAsync(url);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            catch(HttpRequestException e)
            {
                Console.WriteLine("\nException Caught!");
                Console.WriteLine("Message :{0} ", e.Message);
            }
        }
    }
}

Wenn du dieses Beispiel ausführst, solltest du den HTML-Inhalt von https://example.com in deiner Konsole sehen.

Deep Dive

Früher nutzte man WebClient oder HttpWebRequest, um Webseiten herunterzuladen. HttpClient ist moderner, bietet asynchronen Support und ist wiederverwendbar, was weniger Ressourcen verbraucht.

Alternativen zum direkten Code-Ansatz sind Tools wie cURL oder Spezialbibliotheken wie HtmlAgilityPack, wenn du mehr mit dem HTML-Inhalt machen möchtest, z.B. Parsing oder Scraping.

Wichtig beim Herunterladen von Webseiten ist das richtige Handhaben von Netzwerkfehlern und Ausnahmen und das Respektieren von robots.txt, einer Datei, die angibt, welche Bereiche einer Webseite durch Bots nicht besucht werden sollten.

Siehe auch