作者:wen260693700 | 来源:互联网 | 2024-12-07 13:14
本文将详细介绍Python中一个非常实用的HTTP客户端库——requests模块,它不仅易于使用,而且功能强大,非常适合用于开发网络应用或进行Web数据抓取。
requests
是一个在Python中广泛使用的HTTP客户端库,因其简洁和强大的功能而受到开发者喜爱。无论是开发Web爬虫还是测试API接口,requests
都能提供极大的便利。该库支持Python 3,并完全符合现代互联网的需求。
### 1. 安装方法
安装 requests
非常简单,可以通过以下两种方式进行:
- 使用
pip
命令直接安装:
pip install requests
- 从源代码安装:
git clone https://github.com/psf/requests.git
cd requests
python setup.py install
### 2. 导入模块
在Python脚本中使用 requests
模块前,需要先导入它:
import requests
### 3. 发送GET请求
发送GET请求以获取远程资源,例如:
url = 'http://api.example.com/api/user/stu_info'
params = {'stu_name': '张三'} # 请求参数
respOnse= requests.get(url, params=params)
print(response.json()) # 输出JSON格式的数据
print(response.text) # 输出文本字符串
print(response.content) # 输出原始二进制数据
### 4. 发送POST请求
发送POST请求通常用于提交数据到服务器:
url = 'http://api.example.com/api/user/login'
data = {'username': 'admin', 'password': '123456'}
respOnse= requests.post(url, data=data)
print(response.json()) # 输出服务器返回的结果
### 5. 使用JSON数据作为请求体
当需要发送JSON格式的数据时,可以使用 json
参数:
import random
url = 'http://api.example.com/api/user/add_stu'
data = {
'name': '李四',
'grade': '三年级',
'phone': random.randint(10000000000, 99999999999),
'sex': '女'
}
respOnse= requests.post(url, json=data)
print(response.json())
### 6. 添加COOKIEs
在某些情况下,可能需要向服务器发送特定的COOKIEs信息:
url = 'http://api.example.com/api/user/gold_add'
data = {'stu_id': 123, 'gold': 500}
COOKIEs = {'sessionid': 'abc123'}
respOnse= requests.post(url, data=data, COOKIEs=COOKIEs)
print(response.json())
### 7. 设置自定义Headers
有时为了模拟浏览器行为或其他目的,需要设置请求头部:
url = 'http://api.example.com/api/user/all_stu'
headers = {'Referer': 'http://api.example.com/'}
respOnse= requests.get(url, headers=headers)
print(response.json())
### 8. 文件上传
使用 requests
进行文件上传也非常方便:
url = 'http://api.example.com/api/file/upload'
file = {'file': open('example.jpg', 'rb')}
respOnse= requests.post(url, files=file)
print(response.json())
### 9. 下载文件
下载文件并保存到本地同样简单:
url = 'http://example.com/path/to/image.jpg'
respOnse= requests.get(url)
with open('image.jpg', 'wb') as f:
f.write(response.content)