Example of how Python creates a multi-thread proxy Based on ThreadingTCPServer,
This example describes how to create a multi-threaded proxy Based on ThreadingTCPServer in Python. We will share this with you for your reference. The details are as follows:
# Coding = utf8from BaseHTTPServer import BaseHTTPRequestHandlerfrom SocketServer import ThreadingTCPServerimport gzipfrom StringIO import StringIOimport logginglogging. basicConfig (level = logging. DEBUG, format = '% (asctime) s % (filename) s [line: % (lineno) d] % (levelname) s % (message) s ', datefmt = '% a, % d % B % Y % H: % M: % s', filename = 'proxy. log', filemode = 'W') class proxyHandler (BaseHTTPRequestHandler): def do_POST (self): while True: try: path = self. path if path. split ("/") [-1] = "statistics": # Get the data submitted by post datas = gzip. gzipFile (fileobj = StringIO (self. rfile. read ())). read () self. wfile. write (datas) logging. debug (datas) print datas failed t Exception, e: logging. error (e) finally: self. finish () def do_CONNECT (self): pass def do_GET (self): passdef test (): host = '2017. 0.0.1 'port = 8888 try: server = ThreadingTCPServer (host, port), proxyHandler) print 'Welcome to the Server HTTP On % s port % d... '% (host, port) server. serve_forever () handle T KeyboardInterrupt, e: logging. error (e) # print '^ C received, shutting down Server' server. socket. close () if _ name _ = '_ main _': test ()