Der folgende Code ist ein HTTP-Proxy für die Inhaltsfilterung. Er verwendet GET, um die URL der aktuellen Site an den Server zu senden, wo er sie verarbeitet und antwortet. Es läuft SEHR, SEHR, SEHR langsam. Irgendwelche Ideen, wie man es schneller machen kann? HierWie mache ich diesen Twisted Python Proxy schneller?
ist der Code:
from twisted.internet import reactor
from twisted.web import http
from twisted.web.proxy import Proxy, ProxyRequest
from Tkinter import *
#import win32api
import urllib2
import urllib
import os
import webbrowser
cwd = os.path.abspath(sys.argv[0])[0]
proxies = {}
user = "zachb"
class BlockingProxyRequest(ProxyRequest):
def process(self):
params = {}
params['Location']= self.uri
params['User'] = user
params = urllib.urlencode(params)
req = urllib.urlopen("http://weblock.zbrowntechnology.info/ProgFiles/stats.php?%s" % params, proxies=proxies)
resp = req.read()
req.close()
if resp == "allow":
pass
else:
self.transport.write('''BLOCKED BY ADMIN!''')
self.transport.loseConnection()
ProxyRequest.process(self)
class BlockingProxy(Proxy):
requestFactory = BlockingProxyRequest
factory = http.HTTPFactory()
factory.protocol = BlockingProxy
reactor.listenTCP(8000, factory)
reactor.run()
Wer irgendwelche Ideen, wie diese laufen schneller zu machen? Oder sogar eine bessere Art, es zu schreiben?
Es tut mir leid, es klingt wie Sie nur sagen, dass der Server ist langsam zu reagieren. Was vermisse ich? – mjhm
Ja, ich bin. Es läuft sehr, sehr, sehr langsam. Ich versuche einen Weg zu finden, um es schneller laufen zu lassen. Ich habe gegoogelt, aber bis jetzt noch nichts. Ich dachte, ich würde es hier posten, um zu sehen, ob jemand anders einen besseren Weg kennt. Ich würde es mit anderen Bibliotheken oder Modulen schreiben, aber Twisted ist das einzige, auf dem ich Dokumente und Beispiele finden konnte. –
Möchten Sie die Antwort akzeptieren? :) –