簡體   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