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