2017-09-21 53 views
-1

我有一个网站,使用MaxMind本地数据库根据IP地址对用户进行地理定位。我在桌面上查找结果与手机上的结果不同。例如:Max Mind Geolocation异常

  • 我使用的是X - 转发,对于头
  • 我的手机定位我的邮政编码18036,这是约50英里 关闭进行地理定位。
  • 我查找IP地址使用IPv4/IPv6双协议栈测试
  • 在桌面上使用浏览器扩展,设置我的X - 转发,对于头相同的IP地址
  • 桌面我的手机上将我置于19428,这仍然是错误的,但是很接近

为什么有区别?

下面是我执行我的查询:

var ip = httpContext.Request.Headers["X-Forwarded-For"]; 

CityResponse cityResponse; 
using (_dbReader = new DatabaseReader(fullPath, FileAccessMode.Memory)) 
{ 
    cityResponse = _dbReader.City(ip); 
} 

UPDATE

是您的电话连接到相同的WiFi作为你的桌面?还是通过3G/4G连接?

号为确保手机和桌面正在寻找同样的东西:

  1. 我的网站明确着眼于为IP位置 - 我不攻到浏览器位置服务,它可以使用多种方法确定你的位置。

  2. 当我的手机上搜索,我关掉了wifi的所以它肯定是使用3G/4G

  3. 定位我的手机上后,我retrived在浏览器

    “什么我的IP”用我的电话的IP地址
  4. 我欺骗了手机的IP在我的浏览器中使用的X转发,对于头,并确保我的网站在看这个头,而不是实际的IP(这本来是一个内部IP)

+0

您的手机是否与桌面连接到相同的WiFi?还是通过3G/4G连接? – mjwills

+0

任何投票的解释?老实说想知道,所以我不再做。 –

+0

因为我问了一个你似乎没有回答的问题,所以我低估了。 _你做了**种**回答下面的答案,但你没有更新你的文章与这些信息 - 使其他人很容易找到._ – mjwills

回答

0

如果你是 使用Wifi,并在与您的计算机相同的网络上,将不会有任何区别,因为公共IP地址(WAN IP地址)将是相同的。

如果您的手机位于您的计算机所在网络之外的网络上,则无法告知您将分配给哪个ISP(在给定时间)以及将哪个IP地址分配给您的手机。如果蜂窝塔恰好停机或超载,则连接将是

+0

桌面是在公司网络。手机在蜂窝网络上。但我检查了我的手机IP,然后在桌面上欺骗了该IP。 –

+0

你可以尝试不同的网站?转入隐身模式并尝试Google地图。根据自动更正建议查看您的位置。 – Jeffrey

+0

谷歌地图是非常准确的,但没有使用比你的IP更多? –