C#:
Tải trang web

Làm thế nào:

C# làm cho việc tải một trang web trở nên đơn giản với lớp HttpClient. Dưới đây là một ví dụ nhanh:

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"; // Thay đổi bằng URL mong muốn
                HttpResponseMessage response = await client.GetAsync(url);
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                
                Console.WriteLine(responseBody); // Xuất ra nội dung HTML thô
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine("\nNgoại lệ bị bắt!");
                Console.WriteLine("Tin nhắn: {0} ", e.Message);
            }
        }
    }
}

Điều này sẽ xuất ra nội dung HTML của trang web được chỉ định vào bảng điều khiển.

Sâu hơn

Trước khi có HttpClient, C# sử dụng các lớp như WebClientHttpWebRequest để tải nội dung web. HttpClient là lớp mới nhất và được thiết kế để có thể tái sử dụng, hiệu quả và hỗ trợ các thao tác bất đồng bộ, làm cho nó trở thành lựa chọn ưu tiên cho các ứng dụng mới.

Có các lựa chọn thay thế. Ví dụ, thư viện bên thứ ba như HtmlAgilityPack có thể phân tích cú pháp HTML, làm cho việc điều hướng DOM hoặc trích xuất các phần cụ thể của thông tin trở nên dễ dàng hơn mà không cần phải xử lý với chuỗi HTML thô.

Khi tải các trang web, hãy nhớ: tôn trọng các tập tin robots.txt, xử lý ngoại lệ, và lưu ý đến các điều khoản sử dụng của các trang web.

Xem thêm