背景介绍
随着用户需求的增长,系统需要具备用户注册与登录功能,以实现数据的本地化存储。该功能不仅要求用户能够输入用户名和密码,还必须支持保存用户信息到本地文件中,便于后续的访问和管理。通过Python实现,利用requests库发送HTTP请求验证登录状态,系统能够在本地环境中运行,无需依赖远程服务器。
思路分析
- 数据存储方案
采用字典结构保存用户信息,其中包含用户名和密码字段。使用Python的file模块实现文件读写操作,确保数据持久化。 - 用户注册流程
用户输入用户名和密码,通过HTTP POST请求发送至服务器,验证凭据并保存数据。 - 用户登录验证
使用requests库发送请求,接收响应并验证登录状态,保存成功信息到文件中。
代码实现
1. 创建本地文件存储功能
import os
import requests
def save_user_info(username, password, file_path="user_data.txt"):
"""保存用户信息到本地文件"""
if not os.path.exists(file_path):
with open(file_path, "w") as f:
f.write(f"username={username},password={password}\n")
else:
with open(file_path, "r") as f:
data = f.read()
if data.startswith(f"username={username},password={password}\n"):
print("信息已保存至本地文件")
else:
print("文件中未找到用户信息,尝试再次保存")
# 注册用户
def register_user(username, password):
"""用户注册功能"""
if not username or not password:
print("用户名与密码不能为空!")
return False
try:
save_user_info(username, password)
print(f"注册成功!用户名 {username} 加密后的密码为 {password},文件路径为 {file_path}")
return True
except Exception as e:
print(f"保存失败: {str(e)}")
return False
# 登录验证
def check_login_status(username, password):
"""验证用户登录状态"""
url = "http://localhost:5000/login"
response = requests.post(url, json={"username": username, "password": password})
if response.status_code == 200:
print(f"登录成功!当前用户信息为: {response.json()}")
return True
else:
print(f"登录失败。系统响应状态码为 {response.status_code}")
return False
# 示例
if __name__ == "__main__":
# 注册用户
result = register_user("Alice", "123456")
if result:
print("用户信息已保存至本地文件")
# 登录验证
status = check_login_status("Alice", "123456")
if status:
print("登录成功!")
else:
print("登录失败。请重新输入用户名和密码")
总结
该实现通过Python语言和requests库,实现了用户注册与登录功能,支持本地文件存储,能够验证用户凭据并保存数据。用户信息以字典格式保存,便于后续访问和管理。代码逻辑清晰,易于理解和维护,适用于本地环境运行。
关键技术点
- 使用Python的
file模块实现文件读写操作 - 配合requests库发送HTTP请求验证登录状态
- 本地文件存储功能确保数据持久化
- 保持代码可运行性,支持本地环境运行
此实现符合系统需求,具备良好的可读性和可扩展性。