通过python封装一个通用接口请求
时间: 2023-10-09 08:07:08 浏览: 97
以下是一个简单的 Python 封装通用接口请求的示例:
```python
import requests
def request_api(url, method='GET', headers=None, params=None, data=None, json=None):
"""发送 API 请求并返回响应结果"""
if method == 'GET':
response = requests.get(url, headers=headers, params=params)
elif method == 'POST':
response = requests.post(url, headers=headers, params=params, data=data, json=json)
elif method == 'PUT':
response = requests.put(url, headers=headers, params=params, data=data, json=json)
elif method == 'DELETE':
response = requests.delete(url, headers=headers, params=params)
else:
raise ValueError(f"Unsupported request method: {method}")
response.raise_for_status() # 如果响应状态码不是 2xx,抛出异常
return response.json()
# 示例用法
url = 'https://api.example.com/users'
params = {'page': 1, 'per_page': 10}
headers = {'Authorization': 'Bearer <access_token>'}
response = request_api(url, method='GET', headers=headers, params=params)
print(response)
```
这个函数接受以下参数:
- `url`:API 的 URL。
- `method`:请求方法,支持 GET、POST、PUT 和 DELETE。
- `headers`:请求头,它是一个字典类型。
- `params`:请求参数,它也是一个字典类型。
- `data`:POST 或 PUT 请求时的请求体,它是一个字符串类型。
- `json`:POST 或 PUT 请求时的 JSON 格式请求体,它是一个字典类型。
函数返回 API 响应的 JSON 格式数据。如果响应状态码不是 2xx,它将引发一个异常。
阅读全文