获取公网IP地址
获取公网IP地址通常需要通过外部服务,因为本地代码无法直接得知其公网IP。你可以使用HTTP请求访问提供公网IP的服务。
using System;
using System.Net.Http;
using System.Threading.Tasks;
public class Program
{
public static async Task Main()
{
string publicIP = await GetPublicIPAddressAsync();
Console.WriteLine("Your public IP address is: " + publicIP);
}
public static async Task<string> GetPublicIPAddressAsync()
{
string url = "https://api64.ipify.org/";
string ip = "";
try
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync(url);
response.EnsureSuccessStatusCode();
ip = await response.Content.ReadAsStringAsync();
}
}
catch (Exception e)
{
Console.WriteLine("Error getting public IP address: " + e.Message);
}
return ip;
}
}
这段代码使用HttpClient
向api.ipify.org
发送请求,该服务会返回请求来源的公网IP地址。
注意事项
- 获取公网IP地址时,确保你的网络连接是活动的,并且你有访问外部服务的权限。
- 获取本地IP地址时,代码会返回所有网络接口的IP地址,包括虚拟网络接口和物理网络接口。
- 使用外部服务获取公网IP地址时,要注意服务的可用性和响应时间。
这些方法应该能满足你在C#中获取IP地址的基本需求。
分类:
c#知识点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-10-09 visio怎么打开?除了使用visio之外,用word打开操作步骤
2022-10-09 png图片和jpg图片有什么区别
2022-10-09 .lic文件是什么
2022-10-09 SpringBoot框架中的DAO层、Entity层、Service层、Controller层
2022-10-09 Spring、springboot、springMVC、JPA、SpringData、springCloud的概述
2022-10-09 elementUI/jquery/bootstrap/vue的异同