# asioProxy **Repository Path**: ChaoticMagician/asioProxy ## Basic Information - **Project Name**: asioProxy - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-14 - **Last Updated**: 2025-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: Cpp, boostAsio ## README 实现总结 已实现一个后端代理服务器,功能如下: 主要功能 代理转发:监听所有 /api 下的请求,转发到 192.168.1.111:8500 缓存机制:将响应以 JSON 格式保存到项目目录的 /data 文件夹 缓存优先:如果 /data 下已有对应请求和参数的数据,直接返回缓存,不请求远程服务器 创建的文件 httphome/ProxyClient.h 和 ProxyClient.cpp HTTP 客户端,用于转发请求到目标服务器 httphome/CacheManager.h 和 CacheManager.cpp 缓存管理类,处理文件系统缓存 根据请求方法、路径、查询参数和请求体生成唯一的缓存键(使用哈希) 自动创建 /data 目录 修改的文件 httphome/ApiConnection.h 和 ApiConnection.cpp 添加代理和缓存支持 所有 /api 路径的请求都走代理逻辑 httphome/HttpRequest.h 和 HttpRequest.cpp 添加查询参数解析支持 保存原始路径(包含查询参数) httphome/ApiServer.h 和 ApiServer.cpp 修改以正确传递 io_context 给 ApiConnection CMakeLists.txt 添加新创建的源文件 工作流程 收到 /api 请求时,根据方法、路径、查询参数和请求体生成缓存键 检查 /data 目录下是否存在对应的缓存文件 如果存在,直接返回缓存数据 如果不存在,转发请求到 192.168.1.111:8500 收到响应后,提取 JSON 数据保存到 /data 目录 返回响应给客户端 代码已通过 linter 检查,可以编译运行。服务器启动时会自动创建 /data 目录(如果不存在)。