如何在asp.net mvc中获取客户端IP地址?

时间:2015-06-17 09:58:16

标签: asp.net asp.net-mvc

您好我正在使用支付网关。我必须通过客户端的IP地址(有人使用我的网站)。怎么弄? 我在本地系统中运行项目时尝试使用以下代码

System.Net.Dns.GetHostByName(Environment.MachineName).AddressList[0].ToString();

我有一些价值。但是当我用https://www.whatismyip.com/检查时,我得到了一些其他价值。哪个是正确的?我怎样才能得到正确的价值? 我正在使用asp.net MVC。如果我们使用除asp.net以外的mvc,那么这段代码有什么变化吗?

2 个答案:

答案 0 :(得分:2)

您网络中的本地IP是:

System.Net.Dns.GetHostByName(Environment.MachineName).AddressList[0].ToString().Dump();

但是你可以在防火墙/路由器后面这样/你的组织必须拥有由WhatsMyIp.com测量的唯一IP

答案 1 :(得分:2)

当您在本地进行路由时,您将获得路由器分配的私有/本地IP地址,您提到的网站会向您显示公众可以看到的公共/外部IP地址。

至于纠正它,你不需要。连接客户端时,ASP将返回正确的公共/外部IP。

Private vs Public IP