123 lines
3.5 KiB
Markdown
123 lines
3.5 KiB
Markdown
# autoLogon - 自动登录应用
|
|
|
|
## 项目简介
|
|
|
|
autoLogon是一个自动化网站登录工具,可以帮助用户自动登录多个网站并维护登录状态。该应用通过配置文件管理网站信息,支持使用cookies维持登录会话,并能自动保存和更新cookies。
|
|
|
|
## 主要功能
|
|
|
|
- 自动登录配置的多个网站
|
|
- 支持cookies管理,自动保存和更新会话信息
|
|
- 可自定义每个网站的保持登录时间
|
|
- 支持自定义浏览器路径
|
|
- 完整的日志记录系统
|
|
- 配置文件热更新
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
autoLogon/
|
|
├── main.py # 应用主入口
|
|
├── login_manager.py # 登录管理器
|
|
├── config.py # 配置管理器
|
|
├── logger_config.py # 日志配置
|
|
├── config.json # 配置文件
|
|
├── requirements.txt # 依赖列表
|
|
└── log/ # 日志文件夹
|
|
```
|
|
|
|
## 核心文件说明
|
|
|
|
### main.py
|
|
应用的主入口文件,包含`AutoLoginApp`类,负责初始化各个管理器并协调它们的工作流程,包括加载配置、处理网站列表、执行登录操作等。
|
|
|
|
### login_manager.py
|
|
登录管理器,封装了与浏览器相关的操作,负责网站登录、cookies设置与获取、保持登录状态等功能。使用DrissionPage库实现浏览器自动化。
|
|
|
|
### config.py
|
|
配置管理器,负责加载、保存和管理应用配置,包括网站列表、浏览器路径等信息。
|
|
|
|
### logger_config.py
|
|
日志配置模块,设置全局日志记录器,支持文件和控制台双重输出。
|
|
|
|
### config.json
|
|
应用配置文件,使用JSON格式存储,包含以下主要配置项:
|
|
- `sites`:网站配置列表
|
|
- `browser_path`:浏览器可执行文件路径
|
|
|
|
## 配置文件格式
|
|
|
|
```json
|
|
{
|
|
"browser_path": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe",
|
|
"sites": [
|
|
{
|
|
"name": "网站名称",
|
|
"url": "网站URL",
|
|
"duration": 30,
|
|
"cookies": [
|
|
{
|
|
"name": "cookie名称",
|
|
"value": "cookie值",
|
|
"domain": "域名",
|
|
"path": "/",
|
|
"expires": 0,
|
|
"secure": false,
|
|
"httpOnly": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## 安装依赖
|
|
|
|
使用以下命令安装项目依赖:
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## 使用方法
|
|
|
|
1. 确保已安装所有依赖
|
|
2. 配置`config.json`文件,添加需要自动登录的网站信息
|
|
3. 运行主程序:
|
|
|
|
```bash
|
|
python main.py
|
|
```
|
|
|
|
## 工作流程
|
|
|
|
1. 加载配置文件
|
|
2. 遍历处理每个网站:
|
|
- 从配置中获取cookies(如果有)
|
|
- 启动浏览器并访问网站
|
|
- 设置cookies(如果提供)
|
|
- 保持登录状态指定时间
|
|
- 获取并更新最新cookies到配置
|
|
- 关闭当前浏览器页面
|
|
3. 保存更新后的配置
|
|
4. 关闭浏览器
|
|
|
|
## 注意事项
|
|
|
|
- 确保浏览器路径正确配置,默认使用Edge浏览器
|
|
- 配置文件中的`duration`参数表示网站打开后保持的时间(秒)
|
|
- 首次运行时,应用会为没有cookies的网站创建空的cookies配置
|
|
- 日志文件保存在`log`目录下,按日期命名
|
|
|
|
## 故障排除
|
|
|
|
- 如遇浏览器启动失败,请检查`browser_path`配置是否正确
|
|
- 如遇登录失败,检查网站URL是否正确,以及cookies格式是否符合要求
|
|
- 查看日志文件了解详细的错误信息
|
|
|
|
## 扩展建议
|
|
|
|
- 增加对更多浏览器的支持
|
|
- 添加自动识别登录状态的功能
|
|
- 实现定时任务功能,定期执行自动登录
|
|
- 添加图形用户界面进行配置管理 |