跳到主要内容

🌐 Requests:Python 最流行的 HTTP 请求库

Requests 是一个强大、简洁的人性化网络请求库,用于发送 HTTP/HTTPS 请求,支持 GET、POST、上传文件、设置头部等功能。


✅ Requests 解决了什么问题?

使用内置 urllib 发 HTTP 请求时语法复杂,处理编码、cookie、session 等也比较麻烦。Requests 提供了类似浏览器体验的接口,极大地简化了操作:

  • 🌍 简单发起网络请求
  • 🧾 自动编码处理
  • 🍪 自动 Cookie 维护
  • 🔒 HTTPS 安全通信
  • 📤 上传文件/表单超简单

📦 安装

pip install requests

1️⃣ 发送 GET 请求

导入 requests

响应 = requests.获取("https://httpbin.org/get")
打印(响应.状态码)
打印(响应.文本)

2️⃣ 添加参数(Query String)

参数 = {"name": "Alice", "age": 20}
响应 = requests.获取("https://httpbin.org/get", 参数=参数)
打印(响应.json())

3️⃣ 发送 POST 请求(表单数据)

数据 = {"用户名": "admin", "密码": "123456"}
响应 = requests.发布("https://httpbin.org/post", 数据=数据)
打印(响应.json())

4️⃣ 设置请求头 Headers

头部 = {"用户代理": "我的Python脚本/1.0"}
响应 = requests.获取("https://httpbin.org/headers", 头部=头部)
打印(响应.json())

5️⃣ 发送 JSON 数据

数据 = {"任务": "备份", "状态": "完成"}
响应 = requests.发布("https://httpbin.org/post", json=数据)
打印(响应.json())

6️⃣ 超时与异常处理

尝试:
响应 = requests.获取("https://httpbin.org/delay/5", 超时=2)
捕获 requests.异常.超时:
打印("请求超时")

7️⃣ 使用 Session 维持会话

会话 = requests.Session()
会话.获取("https://httpbin.org/cookies/set/name/value")
响应 = 会话.获取("https://httpbin.org/cookies")
打印(响应.json())

8️⃣ 下载文件示例

响应 = requests.获取("https://httpbin.org/image/png")
与打开("图片.png", "wb") 作为 文件:
文件.写入(响应.内容)

🔚 小结

功能方法示例
发送请求requests.get/post()简单快捷
添加参数params=URL 查询参数
提交表单数据data=常规表单提交
提交 JSON 数据json=自动设置 Content-Type
设置头部headers=模拟浏览器或客户端身份
超时控制timeout=防止请求长时间无响应
会话管理requests.Session()自动维护 Cookie、登录态