通过Stem获取Tor Control数据并使用web.py在Web上显示

时间:2013-07-03 15:08:08

标签: python web.py tor

我已经设置了一个Tor中继,并希望它能在网页上显示一些有关自身的统计信息。因此我在同一个盒子上安装了lighttpd和web.py,运行正常。

我还安装了Stem,我可以使用此处的Python示例成功获取Tor控制端口的数据:https://stem.torproject.org/tutorials/the_little_relay_that_could.html

现在我想将两者结合起来并让web.py运行脚本并将数据输出到网站。我已经摆弄了好几个小时,我的线索已经过时了。我如何编写python web.py应用程序?以下是不起作用的尝试示例:

import web
from stem.control import Controller

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        with Controller.from_port(port = 9051) as controller:
            controller.authenticate("mypassword")  # provide the password here if you set one

            bytes_read = controller.get_info("traffic/read")
            bytes_written = controller.get_info("traffic/written")

            return "My Tor relay has read %s bytes and written %s." % (bytes_read, bytes_written)

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()

谢谢!

2 个答案:

答案 0 :(得分:0)

您对词干的使用看起来是正确的,但如果您将其展开以执行多个数据点,则可能需要查看BW events。对于web.py,examples on their site返回一个view.render.base实例,也许这是缺少的位?

答案 1 :(得分:0)

好吧,我现在就开始工作了。尴尬,但似乎我所做的一切都是忘记密码周围的引号。我也感动了     app = web.application(urls,globals()) 上课前。如果它有所作为,现在不要。现在,在带宽事件上制作带有统计数据的实时更新网页。