# 简单用户注册与登录功能实现


问题描述

本项目实现一个用户注册与登录系统,支持输入用户名和密码后验证登录状态。系统验证逻辑基于json数据存储用户信息,并通过requests库发送HTTP请求验证登录状态。项目要求使用Python实现,依赖基础库jsonrequests,并避免依赖框架或外部服务。


技术实现思路

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)使用方法
– 明确验证逻辑和状态反馈机制的实现方式