首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#在Unity 3d中获取IP地址

使用C#在Unity 3d中获取IP地址
EN

Stack Overflow用户
提问于 2012-07-10 19:25:32
回答 2查看 5K关注 0票数 1

我想获得客户ip的所有详细信息,如位置、时延、州、城市、国家、速度、isp等,就像这些人正在做的那样

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

理想情况下,我希望获得Json或XMl格式的响应,这样就不必解析HTML语言。目前我正在解析html

代码语言:javascript
复制
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中获得响应,并直接访问所有字段?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-10 19:39:50

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

然而,你应该知道,这些细节中没有一个是准确的,(可能除了国家)。如果你试图在任何事情上依赖它们,那么你可能应该重新考虑你的策略,IP不能可靠地“定位”,这些数据库通常基于成熟的IP分配给各个ISP及其本地办公室和/或他们所在的交换机构。在最好的情况下,您将在最接近您的用户的exchange上工作。

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

仅举一个例子来说明这些细节为什么会如此错误,你上面引用的网站给了我这些细节:

代码语言:javascript
复制
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提供商。

票数 2
EN

Stack Overflow用户

发布于 2012-07-10 19:44:03

我想获取客户端的所有详细信息。比如位置,时差,州,城市,国家,速度,..等

然后不要使用IP地址(因为我可能错过了较晚的更新,但AFAIK地址不包含速度部分),而是使用相应的function

代码语言:javascript
复制
  iPhoneSettings.StartLocationServiceUpdates();
  print("Location: " + iPhoneInput.lastLocation.latitude + " " + 
                       iPhoneInput.lastLocation.longitude + " " + 
                       iPhoneInput.lastLocation.altitude + " " + 
                       iPhoneInput.lastLocation.horizontalAccuracy + " " + 
                       iPhoneInput.lastLocation.timestamp);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11412329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档