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中使用MELIAE分析程序内存占用实例
Feb 18 Python
浅析Python中的多重继承
Apr 28 Python
python如何在循环引用中管理内存
Mar 20 Python
python利用百度AI实现文字识别功能
Nov 27 Python
python实现连续图文识别
Dec 18 Python
pandas进行时间数据的转换和计算时间差并提取年月日
Jul 06 Python
python模拟鼠标点击和键盘输入的操作
Aug 04 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
基于h5py的使用及数据封装代码
Dec 26 Python
Python中生成ndarray实例讲解
Feb 22 Python
如何用python绘制雷达图
Apr 24 Python
pandas中DataFrame重置索引的几种方法
May 24 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与XML的PDF文档生成技术
2006/10/09 PHP
一个php作的文本留言本的例子(三)
2006/10/09 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
PHP 自定义错误处理函数的使用详解
2013/05/10 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
深入理解javascript作用域和闭包
2014/09/23 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
elemetUi 组件--el-upload实现上传Excel文件的实例
2017/10/27 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
python 生成器协程运算实例
2017/09/04 Python
python如何将图片转换为字符图片
2020/08/19 Python
python实现括号匹配的思路详解
2018/08/23 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
python中open函数的基本用法示例
2019/09/07 Python
python 读取二进制 显示图片案例
2020/04/24 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
元旦活动感言
2014/03/08 职场文书
保证书范文大全
2014/04/28 职场文书
劳资员岗位职责
2015/02/13 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript