0

作为验证的一部分,我需要这样做,我有 IPv4 的解决方案。但由于 IPv6 可以有多种格式,我无法找到确切的解决方案。有什么建议么?

4

3 回答 3

2

有很多方法可以解决你的问题。您可以从类似任务的解决方案开始:

这个想法是使用socketPython 中的模块:

socket.inet_pton(socket.AF_INET6, address)
于 2012-08-07T08:39:54.383 回答
1

从 Python 3.3 开始,您可以使用

import ipaddress
ipaddress.ip_address(ip) in ipaddress.IPv6Network(network)

例如,

import ipaddress
ip = "2001:db8:85a3::8a2e:370:7334"
network = "2001:db8:85a3::/64"
test = ipaddress.ip_address(ip) in ipaddress.IPv6Network(network)
print(test)   # True

Python 2.6+还有一个反向移植。

于 2017-08-08T15:52:00.877 回答
0

查看IPy。在 Python 中处理 IP 地址和子网时,它非常有用。

于 2012-08-08T06:18:08.630 回答