以下のコードはコンテンツフィルタリング用のHTTPプロキシです。 GETを使用して現在のサイトのURLをサーバーに送信し、サーバーが処理して応答します。それは実行するVERY,VERY,VERY slowです。それをより速くする方法に関するアイデア?ここでTwisted Python Proxyをより速くするには?
は、コードは次のとおりです。
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()
誰もが速く、この実行を作成する方法上の任意のアイデアがありますか?それとも、それを書く良い方法ですか?
申し訳ありませんが、サーバーの応答が遅いと言っているようです。私は何が欠けていますか? – mjhm
はい、ありがとうございます。それは非常に、非常に、非常に遅く実行されます。私はそれをより速く走らせる方法を見つけようとしています。私はグーグルをしてきましたが、それまでは何もありませんでした。他の誰かがもっと良い方法を知っているかどうかを知るために私はここにそれを掲示すると考えました。私はそれを他のライブラリやモジュールを使って書くつもりですが、Twistedだけがドキュメントや例を見つけることができます。 –
答えを受け入れますか? :) –