网络编程
位置:首页>> 网络编程>> 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
投稿

猜你喜欢

  • 1.点算子点算子是两个像素灰度值间的映射关系,属于像素的逐点运算,相邻像素不参与运算。点算子是最简单的图像处理手段,如:亮度调整、对比度调整
  • 最近因需要用python写一个微服务来用MQTT给硬件传输图片,其中python用的是flask框架,大概流程如下:协议为:需要将图片数据封
  • 在分析sIFR之前,先来快速的了解一下sIFR是什么,以及它是如何工作的。sIFR表示scalable Inman Flash Replac
  • 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
  • 突然想到了之前一直没留意的for循环中开goroutine的执行顺序问题,就找了段代码试了试,试了几次后发现几个有意思的地方,我暂时没有精力
  • 几天前我在考虑使用 python 从 whatsapp 发送消息。和你们一样,我开始潜伏在互联网上寻找一些解决方案并找到了关于twilio.
  • 1. 前言python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、
  • MySQL服务器有几个影响其操作的参数(变量)。如果缺省的参数值不合适,可以将其修改为对服务器运行环境更合适的值。例如,如果您有大量的内存,
  • 【作者翻译】结构和层次降低了复杂性并提高了可读性。你的文章或站点组织的越深入,用户就越容易理解你观点和得到你想传达的信息。在网页上,这点被通
  • 我们知道在超级链接的title属性中,是不支持html代码的,我们只能使用文本来处理提示信息。当然借助js可以做出很好的效果。这里讲一下如何
  • python一行输入n个数据有时会碰到一行输入多个数据,这是可以先用str类型存一组数据,然后再迭代的将每个数据追加到新的列表中。方法一先输
  • 安装laravel框架命令行cd进入指定目录下,执行composer create-project --prefer-dist larave
  • 感觉这个东西很常用,很多其它js框架里有,但是太大了,用不了太多,自己写了个。需要的朋友可以参考下。下面是html测试代码:<!DOC
  • 关于“登录”和“注册”的问题已经被很多设计师和交互设计上写过无数遍了,今天我在登录纳米盘网站时受到打击了所以写下此文。事情是这样的:当初租用
  • Python对不可变序列进行重复拼接操作效率会很低,因为每次都会生成一个新的对象,解释器需要把原来对象中的元素先复制到新的对象里,然后再追加
  • 如下所示:f = open('./val.txt')lines = f.readlines() #整行读取f.close()
  • 常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:301 redirect: 301代表
  • 前言大家应该都有所体会,对于字符串型的IP存入数据库中,实在是个即浪费空间又浪费性能的家伙,所以可爱的人们想出来将IP转换为整型存储。MyS
  • 首先,FSO是FileSystemObject的简称。当然也就是我们的俗称FSO组件了,该组件可以用来处理驱动器、文件夹以及文件。它可以检测
  • 1、看机器配置,指三大件:cpu、内存、硬盘2、看mysql配置参数3、查系mysql行状态,可以用mysqlreport工具来查看4、查看
手机版 网络编程 asp之家 www.aspxhome.com