我在twisted中有一个简单的代理脚本,我希望脚本从examplefile
而不是/etc/hosts
读取:
from twisted.internet import reactor
from twisted.web import proxy, server
from twisted.python import log
from twisted.names.client import createResolver
createResolver(hosts='/root/examplefile')
site = server.Site(proxy.ReverseProxyResource('www.example.com', 80, ''.encode("utf-8")))
reactor.listenTCP(80, site)
reactor.run()
当我运行脚本时,createResolver()
函数就被忽略了。我不知道如何在我的脚本中实现createResolver()
函数。有人能告诉我我做错了什么吗?谢谢!你知道吗
在这个例子中,你的代码被破坏了。调用createResolver并忽略它的返回值,即将读取指定文件的解析器。Twisted在调用时不会神奇地存储解析器。您需要了解函数等的编程返回值
您还需要为域传递一个字节字符串,即在它前面加上
b
根据reactor docs,IReactorPluggableResolver提供了一个
installResolver
方法(在ReactorBase中实现)没有测试,但我猜是这样的:
相关问题 更多 >
编程相关推荐