python 如何编写代理服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 如何编写代理服务器相关的知识,希望对你有一定的参考价值。

具体过程:
浏览器 —— python代理程序 —— 外网站点

目前设想:
1,浏览器的请求通过代理程序,程序转发给外网站点
2,外网站点返回的数据包交给代理程序,代理程序再传给浏览器
3,整个程序类似于burpsuite

目前无法实现步骤2
单纯socket的程序,或者思路

from bottle import run,route,request,response
from urllib.request import urlopen
@route('<url:re:.*>')
def get_method(url):
      data=urlopen(url)
      return data.read()
run(host='0.0.0.0',port=3456,debug=True)

我简单写一个,使用bottle框架,注意不要该ie的代理,使用别的浏览器如firefox代理到

127.0.0.1:3456

追问

不好意思,我想找单纯用socket的

追答

抱歉,我没有对http协议具体研究过

参考技术A socks代理正是你需要实现的东西, 你可以参考着socks5协议去实现.

单纯的socket是做不出个像样的, 你需要其他的东西进行协助, 可能是线程进程, 也可能是select, epoll/kqueue等等

以上是关于python 如何编写代理服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 nord*** 服务器作为 python 请求的代理?

python3编写网络爬虫18-代理池的维护

代理阻止 websockets?如何绕道

如何编写一个 HTTP 反向代理服务器

如何通过 Python 连接到 ***/代理服务器?

如何通过代理服务器环境获取非标准服务?