我想使用特定的 DNS 服务器解析 DNS,例如 Google 的 8.8.8.8。我的实际Python代码是:
import socket
def getIP(d):
try:
data = socket.gethostbyname(d)
ip = repr(data)
return True
except Exception:
# fail gracefully!
return False
可以使用Python吗?
您可以使用 dnspython:http://www.dnspython.org/ http://www.dnspython.org/在 ubuntu/debian 上你可以使用以下命令获取它:
sudo apt-get install python-dnspython
否则通过以下方式获取:
sudo pip install dnspython
或者通过以下方式下载源安装:
sudo python setup.py install
你的代码将是这样的:
from dns import resolver
res = resolver.Resolver()
res.nameservers = ['8.8.8.8']
answers = res.query('stackexchange.com')
for rdata in answers:
print (rdata.address)
编辑:
由于 OP 似乎在 Mac OS X 上使用它时遇到问题,因此我安装它时执行的是以下操作(仅适用于本地用户):
git clone git://github.com/rthalley/dnspython.git
cd dnspython
python setup.py install --user
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)