# 小型网络请求示例:Python实现HTTP请求与数据输出


背景介绍

在现代编程开发中,网络请求是获取外部服务数据的核心功能之一。本项目旨在通过Python实现一个小型的网络请求示例,帮助开发者测试API调用功能。该项目使用Python语言编写,核心功能为获取天气数据,输入为用户提供的API参数,输出为响应数据,并支持JSON格式的输出。该实现方式符合中级开发者的难度要求,适合用于教学或小型项目开发。

思路分析

本项目的实现过程主要包括以下几个核心步骤:
1. 输入处理:接收用户输入的API参数,将其拆分为字符串,并提取关键参数。
2. HTTP请求发送:使用requests.get()发送GET请求到指定的URL,并处理可能的错误(如404、500等)。
3. 响应解析:解析返回的JSON数据,并将其输出为指定格式。
4. 数据结构化:确保输出结果符合JSON格式,避免数据丢失或解析错误。

代码实现

import requests

def get_weather_data(url, params):
    # 设置请求头
    headers = {
        'Content-Type': 'application/json'
    }

    # 发送GET请求
    response = requests.get(url, params=params, headers=headers)

    # 处理响应数据
    if response.status_code == 200:
        data = response.json()
        return data
    else:
        raise Exception(f"请求失败:{response.status_code} - {response.text}")

# 示例使用
if __name__ == "__main__":
    url = "https://api.example.com/weather"
    city = "北京"
    temp = "20°C"

    try:
        result = get_weather_data(url, {f"city={city}": {}})
        print(json.dumps(result, indent=4))

    except Exception as e:
        print(f"请求失败:{e.status_code} - {e}")

结论

本项目通过Python实现HTTP请求功能,展示了网络请求的核心思路。代码示例清晰地展示了从输入参数处理到响应数据解析的全过程,并确保输出结果为JSON格式。该实现方式符合中级开发者的需求,能够在本地环境中运行,便于教学和调试。通过本项目,开发者可以更好地理解网络请求的实现机制。