我在文本文件中有很多ip范围:
1.0.0.0 - 1.0.0.255
....
223.255.254.0 - 223.255.254.255
如何快速查找ip地址范围?
答案 0 :(得分:1)
您可以使用内置套接字将dotted-ip-address转换为整数 http://code.activestate.com/recipes/66517-ip-address-conversion-functions-with-the-builtin-s/
然后进行测试,看看你的ip-address是否介于两个整数之间:
a = dottedQuadToNum(ipfrom)
b = dottedQuadToNum(ipto)
mine = dottedQuadToNum(MyIP)
您可以进行测试,看看mine
是否介于a
和b
之间。
答案 1 :(得分:0)
如果IP已排序,您可以在IP上执行二进制搜索。所以它将是O(logN),其中N是列表中IP的数量。
答案 2 :(得分:0)