ipaddress字符串返回::1.我如何从本地主机获得用户测试的完整ipaddress
本文关键字:ipaddress 用户 主机 测试 返回 字符串 | 更新日期: 2023-09-27 18:04:55
我想检索使用c#登录的用户的ip地址。
我写了以下代码
var ipaddress = System.Web.HttpContext.Current.Request.UserHostAddress;
,但ipaddress
中包含::1
。我怎样才能得到完整的地址?我只是只测试代码在本地主机。我已经安装了iis7
根据规范::1
实际上是一个指向环回的有效地址。如果您想获得计算机的公共ip地址,您必须使用域名(DNS指向您的本地计算机)或在url中使用您的公共ip来代替localhost
编辑
你的代码很好(没有什么可改变的),但是如果你想获得你的公共ip地址(不是::1或127.0.0.1),你必须从另一个接口进行http调用(这意味着它必须出去将DNS转换为ip并查询回来)。
我希望这对你有帮助,抱歉我不能说得更清楚了。这更像是一个网络问题,而不是编程问题。