Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9169
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2022-12-20 17:00
文章分类
文章存档

2024年(2)

2023年(20)

我的朋友
最近访客

分类: Python/Ruby

2023-06-30 16:47:34

img

Python的requests库是一个功能强大且广泛使用的HTTP请求库,用于在Python中发送HTTP请求、处理响应、会话管理、Cookie处理以及处理文件上传和下载等方面提供了强大的功能,总的来说,就是:

img


可能有的小可爱不是很能直观了解,今天,我们就一起来看看,requests库到底能做什么。

1.发送HTTP请求

{BANNED}最佳被大家熟知的,就是发送HTTP请求了。要知道,requests库提供了各种方法来发送不同类型的HTTP请求,如GET、POST、PUT、DELETE等。我们可以可以轻松地构建请求,并设置请求头、查询参数、请求体等。

点击(此处)折叠或打开

  1. import requests

  2. # 发送GET请求
  3. response = requests.get('')

  4. # 发送POST请求
  5. data = {'username': 'john', 'password': 'secret'}
  6. response = requests.post('/login', data=data)

2.处理响应

有了requests库,处理HTTP响应就会变得非常简单,访问响应的状态码、头部信息和响应体,都可以轻松解析响应的内容。

点击(此处)折叠或打开

  1. import requests

  2. response = requests.get('')
  3. print(response.status_code) # 输出响应的状态码
  4. print(response.headers) # 输出响应的头部信息
  5. print(response.text) # 输出响应的文本内容

3.会话管理

在模拟登录、维护持久连接的时候requests库的存在简直了啊。允许创建会话对象,以便在多个请求之间保持会话状态和共享会话信息……啥都不说了,反手就是一个6!

点击(此处)折叠或打开

  1. import requests

  2. session = requests.Session()

  3. # 发送GET请求并保持会话状态
  4. response = session.get('/login')
  5. # 处理响应...

  6. # 发送带有会话信息的POST请求
  7. data = {'username': 'john', 'password': 'secret'}
  8. response = session.post('/data', data=data)
  9. # 处理响应...

img


4.更简单的设置

requests库可以设置、获取和删除Cookie,并处理来自服务器的Cookie,更简单便捷。

点击(此处)折叠或打开

  1. import requests

  2. # 设置Cookie
  3. cookies = {'session_id': '123456'}
  4. response = requests.get('', cookies=cookies)

  5. # 获取Cookie
  6. print(response.cookies['session_id'])

  7. # 删除Cookie
  8. response.cookies.clear()

5.文件上传和下载

requests库可以上传文件并设置请求的文件字段,也可以下载文件并保存到本地,使得处理文件的HTTP请求变得简单。


点击(此处)折叠或打开

  1. import requests

  2. # 上传文件
  3. files = {'file': open('example.txt', 'rb')}
  4. response = requests.post('/upload', files=files)

  5. # 下载文件
  6. response = requests.get('https://example.com/image.jpg')
  7. with open('image.jpg', 'wb') as file:
  8.     file.write(response.content)

至于API设计简洁,易于学习和使用;扩展灵活且丰富;良好兼容性;有丰富的文档之类的就不具体展开说了。总而言是属于这地位属实一目了然了。

阅读(266) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~