Python的requests库是一个功能强大且广泛使用的HTTP请求库,用于在Python中发送HTTP请求、处理响应、会话管理、Cookie处理以及处理文件上传和下载等方面提供了强大的功能,总的来说,就是:
可能有的小可爱不是很能直观了解,今天,我们就一起来看看,requests库到底能做什么。
1.发送HTTP请求
最被大家熟知的,就是发送HTTP请求了。要知道,requests库提供了各种方法来发送不同类型的HTTP请求,如GET、POST、PUT、DELETE等。我们可以可以轻松地构建请求,并设置请求头、查询参数、请求体等。
import requests
# 发送GET请求
response = requests.get('https://api.example.com')
# 发送POST请求
data = {'username': 'john', 'password': 'secret'}
response = requests.post('https://api.example.com/login', data=data)
2.处理响应
有了requests库,处理HTTP响应就会变得非常简单,访问响应的状态码、头部信息和响应体,都可以轻松解析响应的内容。
import requests
response = requests.get('https://api.example.com')
print(response.status_code) # 输出响应的状态码
print(response.headers) # 输出响应的头部信息
print(response.text) # 输出响应的文本内容
3.会话管理
在模拟登录、维护持久连接的时候requests库的存在简直了啊。允许创建会话对象,以便在多个请求之间保持会话状态和共享会话信息……啥都不说了,反手就是一个6!
import requests
session = requests.Session()
# 发送GET请求并保持会话状态
response = session.get('https://api.example.com/login')
# 处理响应...
# 发送带有会话信息的POST请求
data = {'username': 'john', 'password': 'secret'}
response = session.post('https://api.example.com/data', data=data)
# 处理响应...
4.更简单的设置
requests库可以设置、获取和删除Cookie,并处理来自服务器的Cookie,更简单便捷。
import requests
# 设置Cookie
cookies = {'session_id': '123456'}
response = requests.get('https://api.example.com', cookies=cookies)
# 获取Cookie
print(response.cookies['session_id'])
# 删除Cookie
response.cookies.clear()
5.文件上传和下载
requests库可以上传文件并设置请求的文件字段,也可以下载文件并保存到本地,使得处理文件的HTTP请求变得简单。
import requests
# 上传文件
files = {'file': open('example.txt', 'rb')}
response = requests.post('https://api.example.com/upload', files=files)
# 下载文件
response = requests.get('https://example.com/image.jpg')
with open('image.jpg', 'wb') as file:
file.write(response.content)
至于API设计简洁,易于学习和使用;扩展灵活且丰富;良好兼容性;有丰富的文档之类的就不具体展开说了。总而言是属于这地位属实一目了然了。