nslookup と同じことを行う python-module はありますか? 破棄する URL のドメインに関する情報を掘り下げるために、nslookup を使用する予定です。os.sys を使用して nslookup を呼び出すことができることはわかっていますが、このための python-module が既にあるかどうか疑問に思っています。前もって感謝します!
72215 次
9 に答える
47
私は次のコードを使用しています:
import socket
ip_list = []
ais = socket.getaddrinfo("www.yahoo.com",0,0,0,0)
for result in ais:
ip_list.append(result[-1][0])
ip_list = list(set(ip_list))
または、理解を次のように使用します。
ip_list = list({addr[-1][0] for addr in socket.getaddrinfo(name, 0, 0, 0, 0)})
于 2013-11-13T08:37:03.857 に答える
19
DNSPythonを使用する必要があります
import dns.resolver
answers = dns.resolver.query('dnspython.org', 'MX')
for rdata in answers:
print 'Host', rdata.exchange, 'has preference', rdata.preference
于 2013-02-18T00:40:18.510 に答える
9
ソケットライブラリhttp://docs.python.org/2/library/socket.htmlを使用する必要があります
この場合、システム関数呼び出しは適切な方法ではありません。
于 2012-10-31T18:48:12.370 に答える
7
socket.getfqdn()
ホスト名の完全修飾名を返すことができることに注意してください。参照: http://docs.python.org/2/library/socket.html?highlight=socket.getaddrinfo#socket.getfqdn
例えば:
python -c 'import socket; print(socket.gethostname()); print(socket.getfqdn());'
myserver
myserver.mydomain.local
ただし、結果は/etc/hosts
構成によって異なります。あなたが持っている場合:
$ cat /etc/hosts
127.0.0.1 myserver localhost.localdomain localhost
の結果は次のsocket.getfqdn()
ようになります。
python -c 'import socket; print(socket.getfqdn());'
localhost.localdomain
おっと!それを解決するには、私が知っている唯一の解決策は、次の/etc/hosts
ように変更することです。
$ cat /etc/hosts
127.0.0.1 myserver myserver.mydomain.local localhost.localdomain localhost
それが役に立てば幸い!
于 2014-02-18T10:18:39.203 に答える