Skip to content

requests 模块

安装

bash
pip install requests

Get 请求

python
import requests

# 发送 GET 请求
response = requests.get('https://www.baidu.com', params={'key': 'value'})

# 设置编码 方式1
response.encoding = 'utf-8'
# 设置编码 方式2
# content = response.content.decode('utf-8')

# 获取响应内容
content = response.text
# 获取响应状态码
status_code = response.status_code

Post 请求

python
import requests

# 发送 POST 请求
data = {'key': 'value'}
response = requests.post('https://www.baidu.com', data = data).decode('utf-8')

# 设置编码 方式1
response.encoding = 'utf-8'
# 设置编码 方式2
# content = response.content.decode('utf-8')

# 获取响应内容
content = response.text
# 获取响应状态码
status_code = response.status_code

response 对象

  • response.text:获取响应内容,返回字符串类型。
  • response.content:获取响应内容,返回字节类型。
  • response.status_code:获取响应状态码,返回整数类型。
  • response.headers:获取响应头,返回字典类型。
  • response.json():获取响应内容,返回 JSON 类型。

参数传递

  1. get 请求
  • params:查询字符串参数,字典类型。
  • headers:请求头,字典类型。
  • cookies:Cookie 信息,字典类型。
  • timeout:超时时间,单位为秒。
  • verify:是否验证 SSL 证书,默认值为 True。
  • proxies:代理信息,字典类型。
python
import requests
response = requests.get('https://www.baidu.com', params = {}, headers = {})
  1. post 请求
  • data:请求体参数,字典类型。
  • headers:请求头,字典类型。
  • params:查询字符串参数,字典类型。
  • cookies:Cookie 信息,字典类型。
  • files:文件上传参数,列表类型。
  • json:JSON 数据,字典类型。
  • timeout:超时时间,单位为秒。
  • verify:是否验证 SSL 证书,默认值为 True。
  • proxies:代理信息,字典类型。
python
import requests
response = requests.post('https://www.baidu.com', data = {}, headers = {}, params = {}, cookies = {}, files = {})

网络超时

  • timeout:设置网络超时时间,单位为秒。
  • 尽量设置timeout,避免网络问题导致程序阻塞。一般设置 3~5 秒即可
python
import requests
response = requests.get('https://www.baidu.com', timeout = 5)