【问题标题】:How do I get the full IP rather than ::1?我如何获得完整的 IP 而不是 ::1?
【发布时间】:2019-03-23 00:44:42
【问题描述】:

我写这个是为了获取客户的 IP 地址,但它只是得到这个 ::1 而不是 172.16.0.129。我想获得ipv4版本的ip。我该怎么做?

return HttpContext.Current.Request.Params["HTTP_CLIENT_IP"] ?? HttpContext.Current.Request.UserHostAddress;

【问题讨论】:

标签: c# asp.net dns ip-address httpcontext


【解决方案1】:

在 IPv6 中 ::1 表示本地主机。您的机器很可能拥有 IP 172.16.0.129,但它也完全可以将自己称为 ::1

从另一台机器尝试你的请求(我怀疑这个请求来自与服务器所在的同一台机器)

【讨论】:

  • 好吧,但我想获得 ipv4 版本,即使是 localhost
  • 我不确定将您的软件编码为仅处理 ipv4 是否会使其特别有弹性。但是如果您从另一台机器发出请求,而另一台机器与您的机器通信ipv4 那么你在拉取 http 标头时看到的 IP 很可能是 ipv4 版本
猜你喜欢
  • 2017-05-18
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多