【问题标题】:Get IP address in Unity 3d using C#使用 C# 在 Unity 3d 中获取 IP 地址
【发布时间】:2012-07-10 11:25:32
【问题描述】:

我想获取客户端 IP 的所有详细信息,例如位置、纬度、州、城市、国家/地区、速度、isp 等,就像这些人正在做的那样

http://www.ip-adress.com/ip_tracer/

我想在 Json 或 XMl 中得到理想的响应,这样我就不必解析 HTML。目前我正在解析html

myIP = myExtIPWWW.text;
myIP=myIP.Substring(myIP.IndexOf("Your IP address is:"),myIP.IndexOf("</h3>"));
myIP=myIP.Substring(myIP.IndexOf(":")+1);
myIP=myIP.Substring(0,myIP.IndexOf("<"));

但我不喜欢这种方法。有没有更好的方法可以让我在 Json 中得到响应并立即访问所有字段?

谢谢

【问题讨论】:

  • 统一标签适用于 Microsoft Unity。不要滥用它。

标签: c# html json ip unity3d


【解决方案1】:

有免费数据库以(大)平面文件或数据库格式向您提供这些信息。一个这样的例子是MaxMind GeoLite Country / City Databases

您应该知道没有一个细节是准确的(除了可能国家)。如果您试图在任何事情上依赖它们,那么您可能应该重新考虑您的策略,IP 无法可靠地“定位”,并且这些数据库通常基于 RIPE IP 将 IP 分配给各个 ISP 及其当地办事处和/或交易所来工作他们所在的地方。充其量,您将在离您的用户最近的交易所工作。

当然,如果用户实际上拥有自己的 ISP/IP,则这并不适用,因为他们可以将这些详细信息作为任何内容提供给 RIPE,而这将在您的数据库中。


只是为了举例说明这些细节是如何错的,你上面引用的网站给了我这些细节:

My IP address state:     London, City of
My IP address city:  London
My IP address latitude:  51.5142
My IP address longitude:     -0.0931
My ISP [?]:  VAIONI Group Ltd

我在曼彻斯特,VAIONI 是经销商/连接端点,而不是我的 ADSL 提供商。

【讨论】:

  • 感谢您的及时回复。您认为最好的方法是什么?
  • 这取决于你想做什么?但是“最好的方法”是根本不这样做,除非你只是想得到这个国家,否则这是不可能的,在这种情况下,你可以依靠他们 95% (弥补,但似乎可行!)准确性。
  • 其实这有点骗人。 Windows 本身现在提供了一个地理定位 API(很像浏览器、移动设备等),它可以解决许多因素,如 GPS 塔、IP 等。当然,这仍然不是 100% 准确的。我的浏览器的 GeoLocation 将我放在索尔福德,我离那里 25 英里。 (当然,假设您使用 Windows,如果移动设备可以使用它的 Geolocation,它们通常具有 GPS,在这种情况下它会是准确的!)
【解决方案2】:

我想获取客户 [..] 的所有详细信息,例如位置、纬度、州、城市、国家/地区、速度、[..] 等

然后不要使用 IP 地址(因为我可能错过了后期更新,但 AFAIK IP 地址不包含速度部分),但适当的function 用于此:

  iPhoneSettings.StartLocationServiceUpdates();
  print("Location: " + iPhoneInput.lastLocation.latitude + " " + 
                       iPhoneInput.lastLocation.longitude + " " + 
                       iPhoneInput.lastLocation.altitude + " " + 
                       iPhoneInput.lastLocation.horizontalAccuracy + " " + 
                       iPhoneInput.lastLocation.timestamp);

【讨论】:

    猜你喜欢
    • 2016-05-10
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2019-01-29
    • 2015-05-29
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多