繁体   English   中英

python twisted HTTP Proxy

[英]python twisted HTTP Proxy

我是python的新手。 我开始扭曲。 正如我在Twisted文档中看到的那样,这可以成为代理服务器。

class MyProxy(proxy.Proxy):
    pass

class ProxyFactory(http.HTTPFactory):
    protocol = MyProxy

reactor.listenTCP(8080, ProxyFactory())
reactor.run()

ProxyFactory::protocol看起来像一个成员变量? MyProxy是一个typename,我不知道它是一种模板吗? 否则如何将类型分配给变量?

我实际想要实现的只是拒绝对某些端点的请求。 我在考虑覆盖buildProtocol但是提供的参数addr总是127.0.0.1

ProxyFactory.protocol是一个Python类属性。 因为Python是一种动态类型语言,所以它比Java更灵活,如何定义变量和类。

MyProxy是一个空类Proxy子类,它没有定义proxy.Proxy中默认提供的任何行为。 您可能需要做的事情(我不是Twisted internals专家)是查看proxy.Proxy类的文档并通过在MyProxy中重新定义它们来覆盖一些方法函数,以便这些方法执行您正在寻找的逻辑。

如果您查看Twisted API文档中的源代码,它看起来像添加自定义逻辑的好地方将是ProxyRequest.procese(),它在解析传入的HTTP请求后开始连接远程主机。

所以你(也许)需要继承ProxyRequest类,通过requestFactory类属性将它提供给你的MyProxy。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM