【发布时间】:2019-03-12 09:43:34
【问题描述】:
我编写了一个 python 程序来使用它的 ipaddress 来 ping 一个网站,以检查它是否还活着。通过获取网站的 IP 地址并对其进行处理以供进一步分析,该程序在在线时运行良好。
这是示例代码:
def ip_address_web(hosts,port):
alladdr = list(set(map(lambda x: x[4],socket.getaddrinfo(hosts,port))))
global IPV4A, IPV6A, ip6array
ip4array = []
ip4 = filter(lambda x: '.' in x[0],alladdr)
for addr4 in ip4:
ip4 = addr4
ipv4a = addr4[0]
ip4 = ipaddress.ip_address(ipv4a)
print(ip4.version)
ip4array.append(ipv4a)
print(ip4array)
IPV4A = ip4array[0]
try:
print("ip6 check")
ip6 = filter(lambda x: ':' in x[0],alladdr)
ip6array = []
for addr6 in ip6:
ip6 = addr6
ipv6a = addr6[0]
ip6 = ipaddress.ip_address(ipv6a)
ip6array.append(ipv6a)
print(ip6array)
IPV6A = ip6array[0]
except:
IPV6A = []
print("ipv6a:",IPV6A)
print("No IPv6 address")
hosts = "www.google.com"
port = 80
ip_address_web(hosts,port)
但在离线时,代码无法获取 ipaddress 以进行进一步处理。因此,我不想从在线获取 ipaddress,而是使其离线可用。所以我需要知道有没有办法在 txt 文件中获取所有网站的 IP 地址。
当我连接到网上时,我可以通过使用我的 python 程序或在 Google 上搜索来获取任何网站的 IP 地址。但是在离线状态下,这是不可能的。所以我正在制作另一个 python 程序来获取所有网站的 ipaddresses 并将其存储在 txt 文件中以使其可离线使用。那可能吗?? python中是否有任何库包含网站的所有IP地址。我在谷歌搜索但找不到。请任何解决方案...
【问题讨论】:
标签: python python-3.x sockets web ip-address