# 实现网络请求示例:接收URL和参数并返回JSON响应


背景介绍

网络请求是现代应用程序中常见的功能,用于从服务器获取数据并将其返回给用户。本示例实现了一个能够接收URL和参数、发送HTTP请求并返回响应内容的程序。程序使用Python语言编写,并通过print语句输出示例结果,确保在可运行环境中测试。

思路分析

  1. 请求类型选择:本示例使用GET请求,但参数传递方式需使用字典形式。请求方法为GET,但若需获取参数,可改为POST请求,但示例中参数直接传递为GET查询参数。

  2. 请求构造:通过requests库构造HTTP请求对象,使用params字典传递参数,确保参数的正确性和可读性。

  3. 响应处理:将获取的响应内容解析为JSON格式,确保输出符合预期。如果响应内容不是JSON格式,可能需要进行手动解析或捕获异常。

  4. 异常处理:在代码中添加try-except块,以捕获可能的异常(如连接失败、请求失败等),确保程序的健壮性。

代码实现

import requests

def send_request(url, params):
    """
    用于发送HTTP请求并返回响应内容
    :param url: 请求的URL
    :param params: 参数
    :return: 响应内容(JSON格式)
    """
    try:
        response = requests.get(url, params=params)
        response.raise_for_status()  # 如果请求失败,抛出异常
        # 将响应内容解析为JSON
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"请求失败: {e}")
        return None

# 示例输入
url = "http://example.com/api/data"
params = {"name": "John", "age": 20}

# 生成响应内容
json_response = send_request(url, params)

if json_response is not None:
    print(json_response)

总结

本示例实现了接收URL和参数、发送HTTP请求并返回响应内容的功能。通过requests库构造请求,将参数传递为字典,确保参数的正确性和可读性。响应内容通过JSON格式返回,确保输出符合预期。程序通过try-except块捕获可能的异常,确保程序的健壮性。

该程序可直接运行,输出示例结果,适用于需要处理HTTP请求的场景。