requests 中json、data、params的区别
时间: 2024-01-28 12:05:22 浏览: 109
在 requests 中,可以使用 `json`、`data`、`params` 参数向服务器发送数据。它们的区别如下:
1. `json` 参数
`json` 参数用于将 Python 对象序列化为 JSON 格式的字符串,并将其作为请求体发送给服务器。服务器会解析请求体中的 JSON 数据,并返回相应的响应。`json` 参数可以用于发送 POST、PUT 请求等,示例代码如下:
```python
import requests
url = 'http://example.com/api/create_user'
data = {'username': 'alice', 'password': '123456'}
response = requests.post(url, json=data)
print(response.text)
```
在上面的代码中,`json=data` 参数将字典 `data` 序列化为 JSON 格式的字符串,并将其作为请求体发送给服务器。
2. `data` 参数
`data` 参数用于向服务器发送表单数据。它将 Python 对象转换为 URL 编码格式的字符串,并将其作为请求体发送给服务器。`data` 参数可以用于发送 POST、PUT 请求等,示例代码如下:
```python
import requests
url = 'http://example.com/api/create_user'
data = {'username': 'alice', 'password': '123456'}
response = requests.post(url, data=data)
print(response.text)
```
在上面的代码中,`data=data` 参数将字典 `data` 转换为 URL 编码格式的字符串,并将其作为请求体发送给服务器。
3. `params` 参数
`params` 参数用于向服务器发送查询参数。它将 Python 对象转换为查询字符串,并将其添加到 URL 的末尾。`params` 参数可以用于发送 GET 请求等,示例代码如下:
```python
import requests
url = 'http://example.com/api/get_users'
params = {'page': 1, 'size': 10}
response = requests.get(url, params=params)
print(response.text)
```
在上面的代码中,`params=params` 参数将字典 `params` 转换为查询字符串,并将其添加到 URL 的末尾。服务器会解析查询字符串中的参数,并返回相应的响应。
阅读全文