Python Requests 库概述
Python 的 requests 库是目前最流行的 HTTP 客户端库之一,它基于 urllib3 构建,提供了简洁、人性化的 API。相比标准库 urllib,requests 极大地简化了 HTTP 请求的发送与响应处理过程,是编写网络爬虫、调用 RESTful API 的首选工具。
核心优势
- 简洁的接口:无需手动拼接 URL 或编码参数,支持字典形式的参数传递。
- 自动处理:自动处理 Cookie、连接保持、重定向及内容解码。
- 扩展性强:支持会话管理、代理配置、SSL 验证及自定义适配器。
- 生态丰富:拥有大量第三方插件,如认证机制、超时控制等。
基础用法详解
发送 GET 请求
GET 请求是最常见的请求方式,用于从服务器获取资源。requests 通过 get() 方法实现。
import requests
url = 'https://api.github.com/events'
response = requests.get(url)
# 检查状态码
if response.status_code == 200:
print('请求成功')
else:
print(f'请求失败,状态码:{response.status_code}')
发送 POST 请求
POST 请求通常用于提交数据。可以通过 data 参数提交表单数据,或通过 json 参数提交 JSON 格式数据。
import requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post('http://httpbin.org/post', data=payload)
print(r.text)
# 提交 JSON 数据
headers = {'Content-Type': 'application/json'}
data = {'username': 'test', 'password': 'secret'}
r = requests.post('http://httpbin.org/post', json=data, headers=headers)
print(r.json())


