Python实现HTTP代理服务器
发布时间:2020-05-24 23:33:23 所属栏目:Python 来源:互联网
导读:Python实现HTTP代理服务器
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 这些天闲来无事就研究了下HTTP代理原理,顺便用Python做了个很挫的程序。import socket
import threading
class ProxyServer():
def __init__(self):
self.ListenSock = socket()
self.ListenSock.bind()
self.Clients = []
def listen_thread(self):
self.ListenSock.listen()
while(1):
self.Clients.append(ProxyClient(self.ListenSock.accpet())
def start_work(self):
start listen_thread
while(1):
#从内存中踢出已经断开的连接
for i in self.client:
if i not alive:
self.clients.remove(i)
class ProxyClient():
def __init__(self,Csock):
self.Csock = Csock
self.Rsock = None
start request_process_thread
def request_process_thread(self):
while(1):
req = self.Csock.recv()
#客户端断开了
if req == '':
return
#从请求中获得客户端想要访问的地址
addr = get addr from req
if self.Rsock == None:
self.Rsock.connect(addr)
#把客户端的请求转出去
self.Rscok.send(req)
#开启接受web data的线程,把web data转发给客户端
start recv_web_data_thread
else:
#如果连接已经建立就不要再去创建新的
self.Rsock.send(req)
def recv_web_data_thread(self):
while(1):
data = self.Rsock.recv()
if data=='':
return
#把web data转发给客户端
self.Csock.send(data)
原文地址: Python实现HTTP代理服务器 作者: 大地瓜 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
