📅  最后修改于: 2023-12-03 14:59:39.992000             🧑  作者: Mango
在某些情况下,我们可能需要获取计算机的外部 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 的使用条款和条件。
请注意,在某些网络环境下,由于防火墙或其他安全措施的限制,此方法可能无法正常工作。