1. Cách xử lý:

Để giải quyết vấn đề lấy địa chỉ IP công cộng của máy tính thì mình sẽ làm như sau:

+ Truy cập tới http://checkip.dyndns.org/ và đọc lấy nội dung HTML được gửi về.

Khi truy cập vào http://checkip.dyndns.org/ bằng trình duyệt.

+ Xử lý chuỗi và trích lọc nội dung và trả ra kết quả cần lấy (địa chỉ IP công cộng).

2. Xây dựng chương trình đơn giản

Mình sẽ xây dựng 1 một chương trình đơn giản dưới dạng Console Application (.NET Framework), sau đó thực hiện việc lấy địa chỉ IP công cộng của máy tính và hiển thị lên trên màn hình cửa sổ Console.

Mã C# như sau:

using System;
using System.IO;
using System.Net;

namespace GetPublicIP
{
    class Program
    {
        static void Main(string[] args)
        {
            string publicIp = GetPublicIPAddress();

            Console.WriteLine($"Current IP Address: {publicIp}");

            Console.ReadKey();
        }

        static string GetPublicIPAddress()
        {
            string address = "";
            WebRequest request = WebRequest.Create("http://checkip.dyndns.org/");
            using (WebResponse response = request.GetResponse())
            using (StreamReader stream = new StreamReader(response.GetResponseStream()))
            {
                address = stream.ReadToEnd();
            }

            int first = address.IndexOf("Address: ") + 9;
            int last = address.LastIndexOf("</body>");
            address = address.Substring(first, last - first);

            return address;
        }
    }
}

3. Kết quả:

Kết quả khi chạy chương trình.

Vì lý do an toàn và tính riêng tư nên mình đã che địa chỉ IP trên các ảnh.

5. Lời kết

Đây là một bài viết tương đối ngắn, mình đã đưa ra một cách để có thể lấy địa chỉ IP công công (public IP) khi sử dụng ngôn ngữ lập trình C#. Nếu bạn có cách giải quyết nào khác, hãy chia sẻ với mình nhé!

Cuối cùng, cảm ơn bạn đã đọc bài viết, nếu bạn thấy hay thì hãy chia sẻ bài viết đến với nhiều người hơn nhé! Mình sẽ rất vui vì điều đó!

Categorized in: