获取机器公网IP
Posted
技术标签:
【中文标题】获取机器公网IP【英文标题】:Get machine Public IP 【发布时间】:2019-04-10 13:43:33 【问题描述】:尝试使用 c# 获取机器的公共地址(不是本地 IP)。无法获取公共 IP。
我们可以使用外部库或 API 获取公共 IP 地址,例如 link。
是否有可能在不使用外部 API 和库的情况下在 c# 中获取机器公共 IP 地址?
【问题讨论】:
致电ipify。否则:打开路由器 Web 界面,转储配置,解析,找到外部接口,复制 IP 地址(除非路由器通过 API 为您提供此信息)。如果路由器是你的。我是说。 ***.com/questions/3253701/…的可能重复 【参考方案1】:试试这个
public String getPublicIp()
HTTPGet req = new HTTPGet();
req.Request("http://checkip.dyndns.org");
string[] a = req.ResponseBody.Split(':');
string a2 = a[1].Substring(1);
string[] a3=a2.Split('<');
string ip = a3[0];
return ip;
【讨论】:
【参考方案2】:异步检索公共 IP (V4) 地址(推荐)
HttpClient client = new HttpClient();
var ipTask = client.GetStringAsync("https://api.ipify.org");
var ipAddress = await ipTask;
对于 IP V6,使用此 URL:
var ipTask = client.GetStringAsync("https://api6.ipify.org");
【讨论】:
以上是关于获取机器公网IP的主要内容,如果未能解决你的问题,请参考以下文章