问题描述
本项目实现一个用户注册与登录系统,支持输入用户名和密码后验证登录状态。系统验证逻辑基于json数据存储用户信息,并通过requests库发送HTTP请求验证登录状态。项目要求使用Python实现,依赖基础库json和requests,并避免依赖框架或外部服务。
技术实现思路
1. 数据结构与存储
- 使用字典存储用户信息:
users = {} - 通过
json模块读取输入数据:with open('data.json') as f: users = json.load(f)
2. 用户注册功能
- 注册时读取输入数据(用户名、密码)
- 保存用户信息到字典中
- 提交注册操作
import json
def register_user(username, password):
# 读取本地数据
with open('data.json', 'r') as f:
users = json.load(f)
# 检查用户名是否已存在
if username in users:
print("用户名已存在,请重新注册!")
return False
# 存储用户数据
users[username] = password
print(f"用户 {username} 注册成功!")
return True
3. 登录验证功能
- 用户输入用户名和密码
- 发送POST请求到登录接口
- 检查响应状态(成功返回True,否则False)
import requests
def check_login(username, password):
url = "http://localhost:8000/login"
try:
response = requests.post(url, json={"username": username, "password": password})
response.raise_for_status()
if response.status_code == 200:
print(f"登录成功!状态:{response.status_code}")
return True
else:
print(f"登录失败!状态码:{response.status_code}")
return False
except requests.RequestException as e:
print(f"请求失败:{str(e)}")
return False
4. 状态反馈机制
def get_login_status():
return True # 默认状态为登录成功
总结
本项目通过以下核心实现方式验证了用户注册与登录功能:
- 数据结构:使用字典处理用户数据
- 网络请求:依赖
requests库实现验证逻辑 - 状态管理:通过布尔值返回验证结果
- 本地存储:使用
json模块读取并保存用户数据
该项目要求仅在本地运行环境(仅需Python环境),难度适中,结合数据结构与网络请求的实践,展示了Python编程中基础功能的实现方式。
学习价值
– 掌握基础的字典处理和JSON数据存储知识
– 理解HTTP请求的常见库(requests)使用方法
– 明确验证逻辑和状态反馈机制的实现方式