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


Posted in Python onJanuary 11, 2018

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python中3种内建数据结构:列表、元组和字典
Nov 30 Python
python登陆asp网站页面的实现代码
Jan 14 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
学习python可以干什么
Feb 26 Python
python numpy实现文件存取的示例代码
May 26 Python
如何使用repr调试python程序
Feb 28 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
python上下文管理器异常问题解决方法
Feb 07 Python
python实现员工管理系统
Jan 11 #Python
Python使用base64模块进行二进制数据编码详解
Jan 11 #Python
Python实现备份MySQL数据库的方法示例
Jan 11 #Python
教你用Python写安卓游戏外挂
Jan 11 #Python
python实现学生管理系统
Jan 11 #Python
linecache模块加载和缓存文件内容详解
Jan 11 #Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 #Python
You might like
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
基于PHP字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
学习面向对象之面向对象的术语
2010/11/30 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
js中遍历Map对象的简单实例
2016/08/08 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
高效的jQuery代码编写技巧总结
2017/02/22 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
Scrapy的简单使用教程
2017/10/24 Python
Python实现XML文件解析的示例代码
2018/02/05 Python
python删除服务器文件代码示例
2018/02/09 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
护士自荐信
2013/10/25 职场文书
大四学年自我鉴定
2013/11/13 职场文书
施工资料员的岗位职责
2013/12/22 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
上课说话检讨书
2015/01/27 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫
vue使用localStorage持久性存储实现评论列表
2022/04/14 Vue.js