# 创建可独立运行的小型项目:发送HTTP请求并获取响应内容


背景介绍

本项目旨在提供一个简洁的网络请求示例,帮助开发者直观理解HTTP请求及响应处理的核心概念。无需依赖外部框架或复杂库即可实现,适合中级以下开发者使用,可在1~3天内完成实现。

思路分析

本项目的核心是实现HTTP请求的封装与响应解析功能。其关键点包括:
1. 请求发送机制:使用requests.get()requests.post()发送HTTP请求
2. 参数传递:将请求参数封装为字典对象传递给发送函数
3. 响应解析:通过json模块解析JSON响应内容
4. 错误处理:自动捕获请求失败并返回错误信息

代码实现

import requests

def send_request(url, params=None, json_response_format='json'):
    """发送HTTP请求并获取响应内容"""
    response = requests.get(url, params=params, json=json_response_format)

    if response.status_code == 200:
        return response.json()
    else:
        return {"error": f"请求失败({response.status_code})"}  # 例如:404错误

# 示例使用
if __name__ == "__main__":
    url = "https://api.example.com/data"
    params = {"key": "secret"}
    result = send_request(url, params, json="json")

    print(result)  # 输出示例响应

总结

本项目通过封装HTTP请求与响应处理,实现了网络请求的基础功能。其核心优势在于:
1. 可扩展性:支持参数传递、响应格式化等灵活性
2. 易用性:无需依赖额外库,直接运行
3. 可维护性:提供清晰的请求发送逻辑与响应处理方法

该项目可作为教学工具,帮助开发者掌握HTTP请求的基础知识,同时也是开发中常见的实战练习。