1 Requests库
Requests是一个极为流行的HTTP库,它允许你发送各种类型的HTTP请求。无论是GET、POST、PUT、DELETE还是其他类型的请求,Requests都能轻松搞定。
虽然还有其他HTTP库,但Requests库以其简洁的API和人性化的设计脱颖而出。它隐藏了HTTP协议的复杂性,让开发者可以专注于业务逻辑,而不是底层的网络细节。此外,Requests库支持Python 2.7和3.4+版本,这使得它能够覆盖广泛的用户群体。
2 安装Requests库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pydantic
3 基本用法
3.1 GET请求
import requests#发送GET请求
response = requests.get("https://www.baidu.com")# 检查请求是否成功
if response.status_code == 200:print(response.text)
else:print('请求失败,状态码:', response.status_code)
结果如下:
3.2 POST请求
import requests# 发送POST请求
response = requests.post('https://www.example.com/submit', data={'key1': 'value1', 'key2': 'value2'})# 检查请求是否成功
if response.status_code == 200:print(response.text)
else:print('请求失败,状态码:', response.status_code)
3.3 处理Headers和Cookies
在某些情况下,你可能需要在请求中添加自定义的Headers或Cookies。Requests库也提供了相应的方法来处理这些情况:
import requests# 添加Headers
headers = {'User-Agent': 'my-app/0.0.1'}# 添加Cookies
cookies = {'cookie_name': 'cookie_value'}response = requests.get('https://www.example.com', headers=headers, cookies=cookies)
3.4 会话和连接池
Requests库还支持会话(Session)的使用,这可以帮助你维持某些参数和Cookies跨越多个请求。这对于需要保持状态的Web应用非常有用:
import requests# 创建一个Session对象
session = requests.Session()# 使用Session发送请求
response = session.get('https://www.example.com', headers={'User-Agent': 'my-app/0.0.1'})# 再次使用Session发送请求,可以保持Cookies等状态
another_response = session.get('https://www.example.com/another_page')
3.5 异常处理
在发送请求时,可能会遇到各种网络问题或其他异常。Requests库提供了异常处理机制,帮助你更好地控制程序的流程:
import requeststry:response = requests.get('https://www.example.com', timeout=0.01) # 超时时间设置为0.01秒
except requests.exceptions.Timeout:print('请求超时')
except requests.exceptions.RequestException as e:print('请求异常:', e)