来自移动设备请求的IP地址

时间:2013-02-07 16:44:28

标签: android ios web-services mobile asp.net-web-api

如果移动应用(不是移动浏览器)向网络服务发出请求:

  1. 如何找到IP地址(是否在Request对象中?)
  2. 如果移动设备正在使用移动网络(例如:Verizon),那么IP地址是来自提供商的IP地址吗?
  3. 如果移动设备正在使用Wifi,那么IP地址是无线路由器的IP地址吗?
  4. 此外,如果我将设备A(例如在Tmobile上)设为wifi热点并连接设备B(在Verizon上)并发出请求,会发生什么。 Request对象中发送了什么IP地址?
  5. 由于

2 个答案:

答案 0 :(得分:1)

1)试试这个:

string ipAddress = HttpContext.Current.Request.UserHostAddress;

注意:这不适用于自托管主机,仅适用于网络主机。

2)服务器看到的IP地址将与移动网络相关联。当手机移动并重新连接到网络时,IP地址也会随时间而变化。

3)是的,服务器看到的IP地址将是路由器的IP地址。

4)IP地址将再次与移动网络相关联。服务器获取的IP地址将与服务器看到的具有wifi热点的电话的IP地址相同。手机有效地变成了路由器。

答案 1 :(得分:0)

比这更复杂 - 运营商现在拥有“即时NAT”。就设备而言,您的连接可能是稳定的,具有已知地址,但有问题的服务可能会看到不同的IP地址/端口组合,甚至是IPv4或IPv6组合,如果运营商选择这样做,请求请求。鉴于IPv4地址短缺,需要应用内容过滤器(法律要求),CALEA等,您很少能够“直接连接”互联网。