如果移动应用程序(不是移动浏览器)正在向 Web 服务发出请求:
- 如何找到 IP 地址(是否在
Request
对象中?) - 如果移动设备正在使用移动网络(例如:Verizon),IP 地址是来自提供商的 IP 地址吗?
- 如果移动设备使用Wifi,IP地址是无线路由器的吗?
- 此外,如果我将设备 A(例如在 Tmobile 上)设置为 wifi 热点并连接设备 B(在 Verizon 上)并发出请求,会发生什么情况。对象中发送的 IP 地址是什么
Request
?
谢谢
如果移动应用程序(不是移动浏览器)正在向 Web 服务发出请求:
Request
对象中?)Request
?谢谢
1)试试这个:
string ipAddress = HttpContext.Current.Request.UserHostAddress;
注意:这在自托管中不起作用,仅在网络托管中起作用。
2)服务器看到的IP地址将与移动网络相关联。随着手机移动并重新连接到网络,IP 地址也会随着时间而改变。
3)是的,服务器看到的IP地址将是路由器的IP地址。
4) IP 地址将再次与移动网络关联。服务器获取的 IP 地址将与服务器看到的带有 wifi 热点的手机的 IP 地址相同。电话实际上变成了路由器。
比这更复杂——运营商现在拥有“on the fly NAT”。就您的设备而言,您的连接可能是稳定的,具有已知地址,但相关服务可能会看到不同的 IP 地址/端口组合,甚至是 IPv4 或 IPv6 组合,如果运营商选择这样做,则逐个请求。鉴于 IPv4 地址短缺,需要应用内容过滤器(法律要求)、CALEA 等,您很少能“直接连接”到 Internet。