扭曲的域名系统无法正常工作

2022-04-18 00:00:00 python twisted

问题描述

我想知道为什么以下选项不起作用。

from twisted internet import defer, reactor
from twisted.python.failure import Failure
import twisted.names.client

def do_lookup(do_lookup):
    d = twisted.names.client.getHostByName(domain)
    d.addBoth(lookup_done)

def lookup_done(result):
    print 'result:', result
    reactor.stop()

domain = 'twistedmatrix.com'    
reactor.callLater(0, do_lookup, domain) 
reactor.run()

结果:

result: [Failure instance: Traceback
(failure with no frames): <class
'twisted.names.error.ResolverError'>:
Stuck at response without answers or
delegation ]

解决方案

将您的示例更正为以下内容,以使其在语法上有效:

from twisted.internet import reactor
import twisted.names.client

def do_lookup(domain):
    d = twisted.names.client.getHostByName(domain)
    d.addBoth(lookup_done)

def lookup_done(result):
    print 'result:', result
    reactor.stop()

domain = 'twistedmatrix.com'
reactor.callLater(0, do_lookup, domain)
reactor.run()

我得到:

$ python so-example.py 
result: 66.35.39.65
因此,回答您的问题:您的本地DNS环境被破坏了,而不是twisted.name。或者可能是有窃听器。您需要进一步追踪它。

相关文章