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的print用法示例
Feb 11 Python
python文件和目录操作方法大全(含实例)
Mar 12 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
Python API 自动化实战详解(纯代码)
Jun 11 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
在python中用url_for构造URL的方法
Jul 25 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
关于python中plt.hist参数的使用详解
Nov 28 Python
Pycharm和Idea支持的vim插件的方法
Feb 21 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
opencv实现图像平移效果
Mar 24 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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
mysql 字段类型说明
2007/04/27 PHP
又一个php 分页类实现代码
2009/12/03 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
解析Python中的二进制位运算符
2015/05/13 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python批量读取文件名并写入txt文件中
2020/09/05 Python
python实现电子词典
2020/03/03 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
证婚人经典证婚词
2014/01/09 职场文书
结婚邀请函范文
2014/01/14 职场文书
小学生获奖感言范文
2014/02/02 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
滞留工资返还协议书
2014/10/19 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL