3

我想检索使用 c# 登录的用户的 ip 地址。

我写了以下代码

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

ipaddress包含::1. 我怎样才能得到完整的地址。我只是测试本地主机中的代码。我已经安装了 iis7。

4

1 回答 1

2

::1根据规范实际上是指向环回的有效地址。如果您想获取计算机的公共 IP 地址,则必须使用域名(DNS 指向您的本地计算机)或在 url 中使用您的公共 IP 代替localhost

编辑

你的代码很好(没有什么可以改变的)但是如果你想获得你的公共 IP 地址(不是 ::1 或 127.0.0.1),你必须从另一个接口进行 http 调用(这意味着它必须出去把 DNS 翻译成 ip 并查询回来)。您将无法离线执行此操作。

我希望这会有所帮助,对不起,我再清楚不过了。这更像是一个网络问题,而不是编程。

于 2013-03-21T06:06:55.387 回答