服务端代码
我们需要做以下几个步骤:
- 导入所需的库。
- 设置 Flask 应用程序。
- 创建一个路由来处理 GET 请求。
- 在路由中执行上述代码逻辑,并返回时间字符串。
下面是封装后的 Flask 应用程序代码:
解释:
- Flask 应用初始化:我们首先导入 Flask 并创建一个 Flask 实例。
- 路由定义:我们定义了一个路由
/get-time
,它响应 GET 请求。 - 处理请求:在
get_time
函数中,我们执行了原始代码中的逻辑,包括连接到 GitLab、获取当前时间、创建或更新文件等操作。 - 返回响应:最后,我们使用
jsonify
来返回一个 JSON 格式的响应,其中包含时间字符串。
注意事项:
- 你需要将
GITLAB_URL
和GITLAB_TOKEN
替换为你自己的 GitLab 实例 URL 和个人访问令牌。 - 确保你已经安装了 Flask 和 python-gitlab 库。可以通过 pip 安装它们:
启动和测试应用:
- 将上面的代码保存到一个文件中,例如
app.py
。 - 在终端运行
python app.py
。 - 访问
http://localhost:5000/get-time
来测试你的服务。
客户端代码
接下来编写一个 Python 程序来调用 http://localhost:5000/get-time
获取时间,并将时间配置到 Windows 的系统时间,下面是完整步骤:
- 发送 HTTP GET 请求:使用
requests
库来发送 HTTP GET 请求。 - 解析响应:从响应中解析出时间字符串。
- 设置 Windows 系统时间:使用
subprocess
库来调用 Windows 的wmic
命令行工具来设置系统时间。
下面是完整的 Python 程序示例:
解释:
-
get_time_from_server
函数:发送 GET 请求到http://localhost:5000/get-time
并解析响应中的时间字符串。 -
set_windows_system_time
函数:接收时间字符串,格式化为 Windows 所需的格式,并使用wmic
命令设置系统时间。 -
main
函数:调用上述两个函数并处理流程。
注意事项:
- 你需要确保
requests
库已经安装。如果没有安装,可以通过 pip 安装:
- 运行此脚本需要管理员权限,因为更改系统时间通常需要管理员权限。
- 使用
wmic
命令来设置系统时间可能需要在 Windows 终端中以管理员权限运行此脚本。
运行脚本
- 保存上述代码到一个
.py
文件,例如set_system_time.py
。 - 在命令提示符或 PowerShell 中以管理员权限运行该脚本:
总结
这个脚本将会调用 http://localhost:5000/get-time
获取时间,并将时间设置为 Windows 的系统时间。