# 小红书登录 CLI 工具 ## 概述 这是一个可以被 Go 服务直接调用的 Python CLI 工具,用于小红书登录功能。 使用此工具后,不再需要单独启动 Python Web 服务。 ## 使用方式 ### 1. 发送验证码 ```bash python xhs_cli.py send_code <手机号> [国家区号] ``` 示例: ```bash python xhs_cli.py send_code 13800138000 +86 ``` 返回 JSON 格式: ```json { "success": true, "message": "验证码发送成功" } ``` ### 2. 登录 ```bash python xhs_cli.py login <手机号> <验证码> [国家区号] ``` 示例: ```bash python xhs_cli.py login 13800138000 123456 +86 ``` 返回 JSON 格式: ```json { "success": true, "user_info": {...}, "cookies": {...}, "url": "https://www.xiaohongshu.com/" } ``` ### 3. 注入 Cookie (验证登录状态) ```bash python xhs_cli.py inject_cookies '' ``` 示例: ```bash python xhs_cli.py inject_cookies '[{"name":"web_session","value":"xxx","domain":".xiaohongshu.com"}]' ``` 返回 JSON 格式: ```json { "success": true, "logged_in": true, "cookies": {...}, "user_info": {...} } ``` ## Go 服务集成 Go 服务已经修改为直接调用 Python CLI 脚本,无需启动 Python Web 服务。 ### 修改的文件 1. **backend/xhs_cli.py** (新增) - 命令行接口工具 2. **go_backend/service/xhs_service.go** (修改) - 使用 `exec.Command` 调用 Python 脚本 - 不再通过 HTTP 调用 Python 服务 3. **go_backend/service/employee_service.go** (修改) - 使用 `exec.Command` 调用 Python 脚本 ### 优点 - ✅ 只需启动一个 Go 服务 - ✅ 部署更简单,不需要管理多个服务进程 - ✅ 减少网络开销 - ✅ 更容易调试和维护 ## 依赖要求 确保已安装 Python 依赖: ```bash cd backend pip install -r requirements.txt ``` 主要依赖: - playwright - asyncio ## 注意事项 1. Python 命令需要在系统 PATH 中可用 2. 确保 `xhs_login.py` 和 `xhs_cli.py` 在同一目录 3. Go 服务会在相对路径 `../backend` 下查找 Python 脚本 4. 所有输出均为 JSON 格式,便于 Go 服务解析 ## 错误处理 如果执行失败,会返回包含错误信息的 JSON: ```json { "success": false, "error": "错误描述信息" } ``` Go 服务会捕获 stderr 输出并作为错误信息的一部分返回。