简介
requests
库是Python中一款流行的HTTP请求库,用于简化HTTP请求的发送和处理,也是我们在使用Python做接口自动化测试时,最常用的第三方库。本文将介绍如何安装和使用requests库,以及一些常见的用例示例。
安装requests库
首先,我们要先安装好Python环境。然后,可以使用pip命令来安装requests
库:
pip install requests
使用requests发送请求
requests可以实现发送http请求,包括get/post/put/delete请求,下面我们来举例使用requests发送请求。
- 发送GET请求
面是一个使用requests
库发送GET
请求的简单示例:
-
import requests
-
url = 'https://jsonplaceholder.typicode.com/posts/1'
-
response = requests.get(url)
-
if response.status_code == 200:
-
data = response.json()
-
print(data)
-
else:
-
print('Request failed with status code:', response.status_code)
在这个示例中,我们发送了一个GET请求到指定的URL,并检查了响应的状态码。如果状态码为200,说明请求成功,我们可以使用.json()方法获取JSON数据。
- 发送POST请求
以下是一个使用requests
库发送POST请求的示例:
-
import requests
-
url = 'https://jsonplaceholder.typicode.com/posts'
-
data = {'title': 'foo', 'body': 'bar', 'userId': 1}
-
response = requests.post(url, json=data)
-
if response.status_code == 201:
-
new_post = response.json()
-
print('New post created with ID:', new_post['id'])
-
else:
-
print('Request failed with status code:', response.status_code)
在这个示例中,我们发送了一个POST请求,并将JSON数据作为请求的主体(使用json参数传递)。如果状态码为201,说明资源已创建,我们可以从响应中提取新资源的信息。
响应处理
requests库还提供了丰富的功能来处理响应数据,例如:
- 访问响应头:
response.headers
- 获取文本内容:
response.text
- 获取二进制内容:
response.content
- 获取JSON数据:
response.json()
处理异常
在实际应用中,网络请求可能会遇到各种问题。requests库使用异常来处理这些问题,例如连接错误、超时等。我们可以使用try
和except
语句来捕获这些异常。
添加请求头和参数
我们可以在请求中添加请求头和参数,以便定制请求。例如:
-
headers = {'User-Agent': 'my-app'}
-
params = {'page': 1, 'limit': 10}
-
response = requests.get(url, headers=headers, params=params)
Session管理
使用Session
对象可以在多个请求之间保持会话状态,例如保持登录状态。
-
session = requests.Session()
-
response = session.get(url)
SSL证书验证和超时设置
requests
库还允许你配置SSL证书验证和请求超时时间。
response = requests.get(url, verify='path/to/cert.pem', timeout=5)
总结
requests
库是Python中一个强大且易于使用的HTTP请求库。通过本文的指南,已经了解了如何安装、发送不同类型的HTTP请求、处理响应、处理异常等基本操作。使用requests
库,我们可以轻松地与网络进行交互,获取所需的数据。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取