网络编程
位置:首页>> 网络编程>> Python编程>> Python基于ThreadingTCPServer创建多线程代理的方法示例

Python基于ThreadingTCPServer创建多线程代理的方法示例

作者:坏蛋是我  发布时间:2022-12-05 19:12:39 

标签:Python,ThreadingTCPServer,多线程

本文实例讲述了Python基于ThreadingTCPServer创建多线程代理的方法。分享给大家供大家参考,具体如下:


#coding=utf8
from BaseHTTPServer import BaseHTTPRequestHandler
from SocketServer import ThreadingTCPServer
import gzip
from StringIO import StringIO
import logging
logging.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":
         #获取post提交的数据
         datas =gzip.GzipFile(fileobj=StringIO(self.rfile.read())).read()
         self.wfile.write(datas)
         logging.debug(datas)
         print datas
     except Exception,e:
       logging.error(e)
     finally:
       self.finish()
 def do_CONNECT(self):
   pass
 def do_GET(self):
   pass
def test():
 host='127.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()
 except KeyboardInterrupt,e:
   logging.error(e)
   #print '^C received, shutting down server'
   server.socket.close()
if __name__ == '__main__':
 test()

希望本文所述对大家Python程序设计有所帮助。

来源:http://blog.csdn.net/henni_719/article/details/74451955

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com