套接字解析具有特定DNS的DNS

2024-09-26 22:50:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用特定的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?


Tags: 代码importip服务器truedatareturndns
1条回答
网友
1楼 · 发布于 2024-09-26 22:50:30

你可以使用dnspython: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

相关问题 更多 >

    热门问题