🌐 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") 作为 文件:
文件.写入(响应.内容)