背景介绍
设计一个简单的网络请求接口,用于获取天气数据。输入输出示例清晰,展示了如何接收URL和HTTP方法参数,并返回API响应内容。该接口可用于本地开发环境,无需依赖外部服务。
思路分析
- 参数传递:通过URL查询参数传递城市名等信息,例如
url = "https://api.example.com/weather?city=北京"。 - 响应解析:接收API响应内容(如JSON格式),解析为字典结构,例如
{"status": "success", "data": { ... }}。 - 本地运行:代码无需依赖外部服务,直接在本地环境中运行。
代码实现
import requests
def get_weather_data(url, method='GET'):
# 设置请求头(可选,用于缓存或防盗链)
headers = {
'User-Agent': 'Mozilla/5.0'
}
# 构建请求参数
params = {
'city': '北京'
}
# 发送GET请求
response = requests.get(url, params=params, headers=headers)
# 处理响应
if response.status_code == 200:
data = response.json()
return {
'status': 'success',
'data': {
'current_temp': data['current_temp'],
'humidity': data['humidity'],
'forecast': data['forecast']
}
}
else:
raise Exception(f"请求失败码: {response.status_code}")
总结
本实现展示了网络请求的核心技术点:参数传递与响应解析。通过使用Python的requests库,可以高效地发送GET请求并处理API响应。代码清晰,直接运行,符合1~3天实现的难度要求。