# 网络请求工具实现:GET请求与状态信息处理


背景介绍

网络请求工具用于封装通用的HTTP请求功能,支持GET请求并处理响应数据,支持参数传递、状态判断等核心功能。该工具可灵活处理不同语言的请求,支持JSON或文本响应的解析与状态判断,适用于Web服务开发、API调用等场景。

思路分析

  1. 请求参数解析:用户输入URL和参数(如user_id=123),通过字典或键值对将参数传递至请求函数。
  2. 请求发送:使用requests.get()发送GET请求,支持带参数的参数传递。
  3. 响应处理:解析响应内容为JSON或文本,并判断状态码(如200表示成功,500表示失败)。
  4. 异常处理:捕获网络异常并返回错误信息,保障请求的健壮性。

代码实现

import requests

def get_request(url, params=None, status_code=False):
    """
    发送GET请求并处理响应,返回状态信息或响应内容。

    :param url: 请求的目标URL
    :param params: 请求参数(可空)
    :param status_code: 是否返回状态码(默认False)
    :return: 处理后的响应内容或状态码
    """
    try:
        response = requests.get(url, params=params)
        response.raise_for_status()
        if status_code:
            return {"status": "success", "data": response.json()}
        else:
            return {"status": "error", "message": "请求失败"}
    except requests.exceptions.RequestException as e:
        return {"status": "error", "message": f"网络请求失败: {e}"}  

# 示例使用
url = "https://api.example.com/data"
params = {"user_id": 123, "format": "json"}

result = get_request(url, params=params)
print(result)  # 输出: {"status": "success", "data": "{'data': '123'}"}  

总结

该工具实现了GET请求的基本功能,支持参数传递和状态信息的判断,适用于Web服务开发场景。通过明确的异常处理机制和可扩展的参数解析,确保了网络请求的稳定性和健壮性。代码示例展示了如何实现基本的功能,并标注了使用的编程语言为Python。

# 输出处理后的响应数据
if result["status"] == "success":
    print("成功获取响应内容:")
    print(result["data"])
else:
    print("请求失败:状态码为 $result['status']")