使用更改hosts時(shí)需要有可用的ip地址,但是網(wǎng)上的好多地址都過期了,所以需要自己去獲取當(dāng)時(shí)有用的地址。
下面是代碼:(python3)
#!/usr/bin/python
# -*- coding: utf-8 -*-
def GetLists(subdomain,start,end):
ret = []
for i in xrange(int(start),int(end)+1):
ret.append(subdomain+str(i)+'.dropbox.com')
return ret
def GetDlClientLists():
return GetLists('dl-client',1,999)
def GetDlDebugLists():
return GetLists('dl-debug',1,40)
def GetClientLists():
return GetLists('client',1,99)
def GetNotifyLists():
return GetLists('notify',1,10)
hosts = []
hosts.extend([
'dropbox.com',
'www.dropbox.com',
'forums.dropbox.com',
'dl.dropboxusercontent.com',
'd.dropbox.com',
'client-lb.dropbox.com'
])
hosts.extend(GetDlClientLists())
hosts.extend(GetDlDebugLists())
hosts.extend(GetClientLists())
hosts.extend(GetNotifyLists())
import subprocess
for h in hosts:
cmd = 'nslookup -vc ' + h + ' 8.8.8.8'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
valid = False
for line in p.stdout.readlines():
if line.startswith('Non-authoritative answer:'):
valid = True
elif valid and line.startswith('Address:'):
ip = line.replace('Address: ','').replace('\n','')
print ip + ' ' + h
with open('ip.txt', 'a+') as f:
f.write(ip + ' ' + h + '\n')
下面是部分結(jié)果:
108.160.172.232 dropbox.com
108.160.172.200 dropbox.com
108.160.172.206 www.dropbox.com
108.160.172.238 www.dropbox.com
54.230.108.94 forums.dropbox.com
54.230.108.47 forums.dropbox.com
54.230.108.131 forums.dropbox.com
54.230.108.80 forums.dropbox.com
54.230.108.22 forums.dropbox.com
54.230.108.45 forums.dropbox.com
54.230.108.13 forums.dropbox.com
54.230.108.122 forums.dropbox.com
50.16.243.219 dl.dropboxusercontent.com
204.236.226.117 dl.dropboxusercontent.com
23.21.69.48 dl.dropboxusercontent.com
23.23.121.189 dl.dropboxusercontent.com
23.23.237.190 dl.dropboxusercontent.com
23.21.60.91 dl.dropboxusercontent.com
54.221.222.114 dl.dropboxusercontent.com
54.243.243.165 dl.dropboxusercontent.com
108.160.172.193 d.dropbox.com
108.160.172.225 d.dropbox.com
使用這些地址就可以上dropbox了。
微信公眾號:lyishaou
微信公眾號