python requests post方法详解
时间: 2023-08-13 15:53:17 浏览: 112
Python request使用方法及问题总结
5星 · 资源好评率100%
在Python的requests库中,post()方法用于发送HTTP POST请求。POST请求常用于向服务器提交数据,例如表单数据、JSON数据等。
使用post()方法发送POST请求的基本语法如下:
```python
response = requests.post(url, data=None, json=None, headers=None, cookies=None, params=None)
```
其中,参数说明如下:
- `url`:要发送POST请求的URL地址。
- `data`:要发送的表单数据,可以是字典、字符串或字节流。默认为None。例如,可以使用`data={'key1': 'value1', 'key2': 'value2'}`发送表单数据。
- `json`:要发送的JSON数据,可以是字典、列表或字符串。默认为None。例如,可以使用`json={'key1': 'value1', 'key2': 'value2'}`发送JSON数据。
- `headers`:要发送的请求头,可以是字典。默认为None。例如,可以使用`headers={'Content-Type': 'application/json'}`设置请求头。
- `cookies`:要发送的Cookies,可以是字典。默认为None。例如,可以使用`cookies={'name': 'value'}`设置Cookies。
- `params`:URL中的查询参数,可以是字典或字符串。默认为None。例如,可以使用`params={'key': 'value'}`添加查询参数。
使用post()方法发送POST请求的示例代码如下:
```python
import requests
url = 'http://example.com/api'
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=data, headers=headers)
print(response.status_code) # 打印响应状态码
print(response.text) # 打印响应内容
```
在上面的示例中,我们指定了要发送的URL地址、表单数据和请求头。发送POST请求后,通过`response`对象可以获取服务器返回的响应状态码和响应内容。
需要注意的是,POST请求中的数据可以使用`data`参数或`json`参数,二者用法不同。使用`data`参数发送的是表单数据,会自动将数据进行URL编码;而使用`json`参数发送的是JSON数据,会自动将数据进行JSON序列化。根据实际需求选择适合的参数使用。
阅读全文