python,flask实现简单 Http代理服务器
【代码】python,flask实现简单 Http代理服务器。
·
import flask as F
import requests as R
def zfa(proxy_url):
m=F.request.method
a=F.request.args
ps={}
for i in a:
v=a.get(i)
ps[i]=v
data=F.request.get_data()
h=F.request.headers
h2={}
for k,v in h:
h2[k]=v
url=proxy_url+F.request.path
r=R.request(url=url,method=m,data=data,headers=h2,params=ps)
r:R.Response
res=F.Response(response=r.content,headers=dict(r.headers))
res.status_code=r.status_code
return res
class HttpProxy:
def __init__(self,proxy_url) -> None:
self.proxy_url=proxy_url
self.flask=F.Flask(__name__)
self.flask.before_request(self.handle)
def run(self,*args,**ks):
return self.flask.run(*args,**ks)
def on_error(self,e):
return repr(e)
def pre_handle(self):
pass
def post_handle(self,res:F.Response):
return res
def handle(self):
try:
r=self.pre_handle()
if r:
return r
res=zfa(self.proxy_url)
res=self.post_handle(res)
return res
except Exception as e:
print(e)
return self.on_error(e)
app=HttpProxy('http://127.0.0.1:8000')
app.run(port=80)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)