【发布时间】:2014-04-29 09:16:51
【问题描述】:
我正在使用一项服务来根据 IP 地址获取客户国家/地区,但是当我使用 UserHostAddress 时它是通过 web api rest 服务制作的,它仅在我将其发送到服务时才显示内部 IP显示错误的国家/地区是否有任何解决方案可以获取国家/地区或 IP 地址
【问题讨论】:
-
我不确定你在问什么。您是否从内部 IP 调用服务器?
UserHostAddress显示服务器看到的 IP。如果客户端位于 NAT 防火墙后面,这将是“公共”IP。否则,它是客户端的实际 IP。服务器不知道也不关心那个地址是什么。 -
你能试试吗,
string SourceIP = String.IsNullOrEmpty(Request.ServerVariables["HTTP_X_FORWARDED_FOR"]) ? Request.ServerVariables["REMOTE_ADDR"] : Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
标签: asp.net-mvc asp.net-web-api