我目前使用的是GeoLite2 City数据库,如果我使用IPv4与IPv6查询数据库,则会得到不同的结果。使用IPv6时,我可以获得所有扩展信息,包括州/省和邮政编码。不幸的是,我们的服务器只连接到使用IPv4的客户端(我认为这是Azure的一个限制,但我不确定),当我试图从IPv4转换到IPv6时,我得到了这样的东西:ffffff::100.100.100.100.100,这肯定是不正确的。下面是我用来检索和转换ip的代码:
var userHostAddress = Request.UserHostAddress;
var ip = IPAddress.Parse(userHostAddress);
string iPv6 = ip.MapToIPv6().ToString();我也尝试过手动转换代码,但也不起作用。除了转换IP之外,还有没有其他人经历过这种情况?使用GeoLite2数据库时,IPv6是否更准确?
发布于 2015-08-05 15:54:24
仅供参考,IPv6中的IPv4 1.2.3.4也是::FFFF:1.2.3.4。
它是为IPv6保留的IPv4范围。
https://stackoverflow.com/questions/31800484
复制相似问题