好的,我从http://dev.maxmind.com/geoip/legacy/geolite/ GeoLite City
数据库下载。
值在GeoLiteCity-Blocks.csv
startIpNum,endIpNum,locId
"16777216","16777471","17"
但是我不知道如何将 ips 转换为这些 startIpNum 和 endIpNum 范围。我在他们的网站上找不到,他们链接到这里
将ip v4转换成这个的算法是什么?
非常感谢
好的,我从http://dev.maxmind.com/geoip/legacy/geolite/ GeoLite City
数据库下载。
值在GeoLiteCity-Blocks.csv
startIpNum,endIpNum,locId
"16777216","16777471","17"
但是我不知道如何将 ips 转换为这些 startIpNum 和 endIpNum 范围。我在他们的网站上找不到,他们链接到这里
将ip v4转换成这个的算法是什么?
非常感谢
这取决于您使用哪种编程语言。
在 php 中,您可以使用 ip2long 和 long2ip 来处理 ips。
string long2ip ( string $proper_address )
The function long2ip() generates an Internet address in dotted format (i.e.: aaa.bbb.ccc.ddd) from the proper address representation.
http://php.net/manual/en/function.long2ip.php
您提供的 ips 示例:http: //sandbox.onlinephpfunctions.com/code/3decd3d4818a02d65b9a80cf2dc1c70297b0d2d5
如果您使用的是 Python,则可以使用
>>> import socket, struct
>>> socket.inet_ntoa(struct.pack('!L', 16777216))
'1.0.0.0'
从整数转换为 IP 字符串。