python实现代理服务器转换

使用 http.server 模块和 requests 库来实现,代理服务器可拦截匹配指定路径的 HTTP 请求,并打印或存储请求头和响应体。
实现目标:
1、创建一个HTTP代理服务器。
2、代理所有流量,而对指定的接口(如 /api/target)提取请求头和响应体。
3、转发所有其他流量,保持其正常运行。

from http.server import BaseHTTPRequestHandler, HTTPServer
import requests

# 代理服务器的主机和端口
PROXY_HOST = "127.0.0.1"
PROXY_PORT = 8080

# 要拦截的接口路径(可以调整为你需要的路径)
TARGET_PATH = "/api/target"

class CustomProxyHandler(BaseHTTPRequestHandler):
    """
    自定义HTTP处理程序,拦截指定接口的请求和响应
    """
    def do_GET(self):
        # 打印收到的请求信息
        print(f"[*] Received GET request for: {
     self.path}")
        
        if self.path.startswith(TARGET_PATH):  # 判断是否为目标接口
            print(f"[!] Intercepting target path: {
     self.path}")
            self.handle_target_request()
        else:
            # 转发其他路径的请求
            self.forward_request()
            
    def do_POST(self):
        # 打印收到的请求信息
        print(f"[*] Received POST request for: {
     self.path}")
        
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Enougme

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值