【问题标题】:How to get UserHostAddress in .Net Framework 4.6如何在 .Net Framework 4.6 中获取 UserHostAddress
【发布时间】:2016-03-29 21:28:57
【问题描述】:

我想检索使用 C# .Net Framework 4.6 登录的用户的 IP 地址。

我写了以下代码:

var ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress;

但 ipaddress 包含 ::1。我怎样才能得到完整的地址。我只是测试本地主机中的代码。我安装了 IIS7。和 .Net 2015 Framework 4.6。

【问题讨论】:

  • ::1 是本地主机的 IPv6 环回地址,因此您得到的完全是预期的。
  • (而且,您获得的是 IPv6 环回,而不是 v4)

标签: c# .net


【解决方案1】:

::1 是正确的地址。

我只是在本地测试代码。

localhost 在 Windows 上有两个 IP 地址(通常)。 127.0.0.1 和 ::1。前者是IPv4环回地址,后者是IPv6版本,缩写。

默认情况下,IPv6 是 localhost 的首选,并且由于您拥有支持 IPv6 的浏览器,因此它使用 IPv6 地址。

如果您要将 Web 应用程序设置为在本地 Intranet 上可用,然后尝试从另一台计算机访问它,那么 IP 地址将是“远程”计算机的 IP。

【讨论】:

  • 但是在Framework 4.6出现错误,我认为上面的代码不支持framework 4.6。需要找到支持FW4.6的替代代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
相关资源
最近更新 更多