📜  c# external ip - C# (1)

📅  最后修改于: 2023-12-03 14:59:39.992000             🧑  作者: Mango

获取外部 IP 地址的 C# 方法

在某些情况下,我们可能需要获取计算机的外部 IP 地址,以此作为程序的一部分或进行其他网络操作。以下是一个使用 C# 获取外部 IP 地址的示例。

using System;
using System.Net;

public class ExternalIp
{
    public static string GetExternalIpAddress()
    {
        try
        {
            using (var client = new WebClient())
            {
                string ipData = client.DownloadString("https://api.ipify.org");
                return ipData.Trim();
            }
        }
        catch (Exception ex)
        {
            // 处理异常,或返回默认值
            return ex.Message;
        }
    }

    public static void Main(string[] args)
    {
        Console.WriteLine("外部 IP 地址: " + GetExternalIpAddress());
    }
}

上述示例代码通过发送 HTTP GET 请求到 ipify API 并解析响应来获取外部 IP 地址。然后,将其返回为字符串。

请确保在使用此代码之前,已安装 System.Net 命名空间提供的 WebClient 类所需的相关 NuGet 包。例如,在 Visual Studio 中,您可以通过打开 工具 -> NuGet 包管理器 -> 程序包管理器控制台,然后执行以下命令来安装 System.Net.Http 包:

Install-Package System.Net.Http

为了获取更准确的外部 IP 地址,您可以通过更换 https://api.ipify.org 地址为其他提供外部 IP 地址查询的 API 地址来测试。请确保所选 API 的使用条款和条件。

请注意,在某些网络环境下,由于防火墙或其他安全措施的限制,此方法可能无法正常工作。