0

好的,我从http://dev.maxmind.com/geoip/legacy/geolite/ GeoLite City数据库下载。

值在GeoLiteCity-Blocks.csv

startIpNum,endIpNum,locId
"16777216","16777471","17"

但是我不知道如何将 ips 转换为这些 startIpNum 和 endIpNum 范围。我在他们的网站上找不到,他们链接到这里

将ip v4转换成这个的算法是什么?

非常感谢

4

2 回答 2

1

这取决于您使用哪种编程语言。

在 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

于 2015-05-16T03:21:22.177 回答
0

如果您使用的是 Python,则可以使用

>>> import socket, struct
>>> socket.inet_ntoa(struct.pack('!L', 16777216))
'1.0.0.0'

从整数转换为 IP 字符串。

于 2018-04-03T19:06:51.320 回答