代理对应python程序开发是一个很重要的东西,通过代理拿到一些重要的数据,传统的charles软件无法编写程序,只能做系统分析时使用,但是要做到程序控制就无法实现,python的mitmproxy就解决了这个问题,既能运行python程序,又能监控系统数据变化。
环境要求
Mitmproxy: 10.3.0
Python: 3.11.5
OpenSSL: OpenSSL 3.2.1 30 Jan 2024
Platform: Windows-10-10.0.22631-SP0
不能是虚拟环境,就是本机环境,用conda搞得好像都打不成功
打包脚本
pyinstaller -F -c proxy.py
打包代码
import argparse
from mitmproxy.tools.main import mitmdump
def main():
# 创建 ArgumentParser 对象
parser = argparse.ArgumentParser(description='Run mitmdump with dynamic parameters.')
parser.add_argument('-m', '--mode', type=str, help='Proxy mode (e.g., "upstream:http://127.0.0.1:7890")')
parser.add_argument('-p', '--port', type=str, default='64488', help='Proxy Port (default: "64488")')
parser.add_argument('-s', '--script', type=str, help='Path to the mitmproxy script.')
# 解析命令行参数
args = parser.parse_args()
# 构建 mitmdump 命令参数
command = ["-p", args.port] # 默认端口或者指定端口
if args.mode:
command.extend(["--mode", args.mode])
if args.script:
command.extend(["-s", args.script])
# 运行 mitmdump
mitmdump(command)
if __name__ == '__main__':
main()
使用时的脚本
proxy.exe --mode "upstream:http://127.0.0.1:7890" --script "main.py" -p 8888
逻辑就这些,没打成功的,又特别需要的,可以私信或者留评我发给你