Python基于ThreadingTCPServer創(chuàng)建多線程代理的方法示例
本文實例講述了Python基于ThreadingTCPServer創(chuàng)建多線程代理的方法。分享給大家供大家參考,具體如下:
#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提交的數(shù)據(jù)
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()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結(jié)》、《Python Socket編程技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Flaks基礎(chǔ)之在URL中添加變量的實現(xiàn)詳解
這篇文章主要介紹了在python開發(fā)中,F(xiàn)laks框架之上在URL鏈接中添加變量的實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
不到20行實現(xiàn)Python代碼即可制作精美證件照
這篇文章主要介紹了不到20行實現(xiàn)Python代碼即可制作精美證件照,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python中pip安裝庫時出現(xiàn)Read?timed?out解決辦法
最近需要使用pip庫,安裝的時候出現(xiàn)問題,本文就詳細的介紹一下python中pip安裝庫時出現(xiàn)Read?timed?out解決辦法,具有一定的參考價值,感興趣的可以了解一下2022-03-03
BeautifulSoup中find和find_all的使用詳解
這篇文章主要介紹了BeautifulSoup中find和find_all的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
python性能檢測工具函數(shù)運行內(nèi)存及運行時間
這篇文章主要介紹了python性能檢測工具函數(shù)運行內(nèi)存及運行時間,python雖然是一門慢語言,但是也有著比較多的性能檢測工具來幫助我們優(yōu)化程序的運行效率,下文小編給大家分享五個性能檢測工具,需要的朋友可以參考一下2022-05-05
Python實現(xiàn)批量采集商品數(shù)據(jù)的示例詳解
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)批量采集商品的數(shù)據(jù),文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

