# 网络通信项目实现:HTTP GET请求与日志记录


【核心技术要点】

  1. HTTP请求处理:使用Python的requests库发送GET请求
  2. 响应解析:解析JSON格式的响应数据
  3. 日志记录:使用Python的logging模块记录请求和响应信息
  4. 输入验证机制:验证参数类型和长度
  5. 响应处理逻辑:解析JSON数据并验证响应内容

【项目说明】

本项目实现了一个简单的网络通信项目,用于验证API请求的正确性并记录日志信息。项目依赖本地环境运行,代码独立可运行,无需依赖第三方库。

【代码实现】

import requests
import logging

# 设置日志级别
logging.basicConfig(level=logging.INFO)

def main():
    # 输入验证
    try:
        api_url = input("请输入API地址(例如:http://example.com/data):")
        name = input("请输入参数名(如:name):")
        age = input("请输入参数值(如:15):")

        # 参数类型验证
        if not isinstance(name, str) or len(name) == 0:
            logging.warning("参数类型或长度验证失败:{}".format(name))
            return

        if not isinstance(age, int) or (len(str(age)) != 1):
            logging.warning("参数类型或长度验证失败:{}".format(age))
            return

        # 发送HTTP GET请求
        response = requests.get(api_url, params={'name': name, 'age': age})

        # 响应解析
        logging.info(f"请求成功,参数:{name}, {age}")
        data = response.json()
        if data.get('status') == 'success':
            logging.info(f"响应内容:{data}")
        else:
            logging.error(f"请求失败,状态:{data.get('status')}")

        # 输出结果
        print("响应内容:")
        print(data)

    except requests.RequestException as e:
        logging.error(f"请求失败:{e}")
        print("请求失败,错误信息:")
        print(e)

if __name__ == "__main__":
    main()

【总结】

本项目实现了对网络通信项目的完整功能,包括HTTP请求处理、参数验证、响应解析和日志记录。通过输入验证机制,确保了API请求的合法性,响应内容解析逻辑正确,日志记录功能清晰记录了请求和响应信息。代码可依赖本地环境运行,无需依赖第三方库,具有良好的可运行性和可扩展性。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注