我有一个网站,使用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连接?
号为确保手机和桌面正在寻找同样的东西:
我的网站明确着眼于为IP位置 - 我不攻到浏览器位置服务,它可以使用多种方法确定你的位置。
当我的手机上搜索,我关掉了wifi的所以它肯定是使用3G/4G
定位我的手机上后,我retrived在浏览器
“什么我的IP”用我的电话的IP地址我欺骗了手机的IP在我的浏览器中使用的X转发,对于头,并确保我的网站在看这个头,而不是实际的IP(这本来是一个内部IP)
您的手机是否与桌面连接到相同的WiFi?还是通过3G/4G连接? – mjwills
任何投票的解释?老实说想知道,所以我不再做。 –
因为我问了一个你似乎没有回答的问题,所以我低估了。 _你做了**种**回答下面的答案,但你没有更新你的文章与这些信息 - 使其他人很容易找到._ – mjwills