首页 > 解决方案 > 获取网站客户端的IP地址返回主机IP

问题描述

我有一个通过 IIS 托管的网站,并希望有一个包含 . 在那个 testfile.aspx 中,我想获取客户端的 IP 地址并根据要求进行重定向。但是,当我尝试获取 ip 地址时,我得到的是我的网站托管的机器的 ip,而不是用户

如何在 ASP.NET 中获取用户的客户端 IP 地址?

我已经尝试了上面链接中的所有方法,它们都返回了主机的 IP 地址。我已经尝试了包含页面中的代码以及示例测试页面后面的代码,但它仍然无法正常工作。

版本 1

Dim ipAdd As String 
ipAdd = Request.ServerVariables("REMOTE_ADDR")
ClientScript.RegisterStartupScript(Me.GetType(), "myalert", "alert('This is your ip " & ipAdd & "');", True)

版本 2

ClientScript.RegisterStartupScript(Me.GetType(), "myalert", "alert('This is your ip " & Request.UserHostAddress & "');", True)

这两种方法都返回我的 IIS Web 服务器的公共 IP

标签: asp.netiis

解决方案


我在类文件中使用它来获取 UserHostAddress,它是连接客户端的 IP 地址:

string sUserHostAddress = HttpContext.Current.Request.UserHostAddress;

我正在使用 WebForms,我可以使用它在文件后面的代码中获取它:

string sUserHostAddress = Request.UserHostAddress;

希望这可以帮助。

编辑:我在我的网站上放了一个页面,您可以在其中看到结果。 检查您的 IP 地址


推荐阅读