【软件测试】 快速学习 requests 框架的方法

在 Python 中,requests 是一个常用的 HTTP 请求库,它可以方便地向网站发送 HTTP 请求,并获取响应结果。使用 requests 库,你可以轻松地实现网页抓取、接口测试、自动化脚本等功能。本文将介绍如何快速学习 requests 框架。

一、安装 requests 库

在使用 requests 库之前,你需要确保已经安装了它。你可以使用 pip 命令来安装 requests 库:

pip install requests

二、发送 GET 请求

GET 请求是最常见的 HTTP 请求方法,它用于从服务器获取数据。使用 requests 库发送 GET 请求非常简单,只需要使用requests.get()方法即可。以下是一个示例代码:

import requests

response = requests.get('https://www.example.com')
print(response.status_code)
print(response.text)

在这个示例中,我们使用requests.get()方法向https://www.example.com发送了一个 GET 请求,并将响应结果存储在response变量中。然后,我们打印了响应的状态码和文本内容。

三、发送 POST 请求

POST 请求用于向服务器提交数据,例如提交表单数据或上传文件。使用 requests 库发送 POST 请求需要传递一个数据字典作为参数。以下是一个示例代码:

import requests

data = {'username': 'admin', 'password': '1234567890'}
response = requests.post('https://www.example.com/login', data=data)
print(response.status_code)
print(response.text)

在这个示例中,我们向https://www.example.com/login发送了一个 POST 请求,传递了一个包含用户名和密码的字典作为参数。

四、发送其他类型的请求

除了 GET 和 POST 请求之外,requests 库还支持发送其他类型的请求,例如 PUT、DELETE、PATCH 等。你可以使用requests.put()requests.delete()requests.patch()等方法来发送这些请求。

五、设置请求头

在发送 HTTP 请求时,你可以设置请求头来传递额外的信息。例如,你可以设置 User-Agent 头来标识你的客户端。以下是一个示例代码:

import requests

headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get('https://www.example.com', headers=headers)
print(response.status_code)
print(response.text)

在这个示例中,我们设置了 User-Agent 头为’Mozilla/5.0’,然后发送了一个 GET 请求。

六、处理响应

在收到服务器的响应后,你可以使用response.status_code属性获取响应的状态码,使用response.text属性获取响应的文本内容,使用response.headers属性获取响应的头部信息。以下是一个示例代码:

import requests

response = requests.get('https://www.example.com')
if response.status_code == 200:
    print('请求成功!')
    print('响应头部信息:')
    print(response.headers)
    print('响应文本内容:')
    print(response.text)
else:
    print('请求失败!')
    print('状态码:', response.status_code)
    print('响应头部信息:')
    print(response.headers)
    print('响应文本内容:')
    print(response.text)

在这个示例中,我们首先使用requests.get()方法发送了一个 GET 请求,然后检查了响应的状态码。如果状态码为 200,表示请求成功,我们将打印响应的头部信息和文本内容。如果状态码不是 200,表示请求失败,我们将打印状态码和响应的头部信息和文本内容。

七、使用代理

有时候,我们需要使用代理服务器来发送 HTTP 请求。requests 库提供了proxies参数,用于指定代理服务器的地址和端口。以下是一个示例代码:

import requests

proxies = {
    'http': 'http://127.0.0.1:8080',
    'https': 'https://127.0.0.1:8080'
}
response = requests.get('https://www.example.com', proxies=proxies)
print(response.status_code)
print(response.text)

在这个示例中,我们设置了 HTTP 和 HTTPS 协议的代理服务器地址为’http://127.0.0.1:8080’,然后发送了一个 GET 请求。

八、使用 Session 对象

如果你需要发送多个请求,可以使用 Session 对象来管理请求。Session 对象可以自动处理 HTTP 连接的建立和关闭,提高性能和效率。以下是一个示例代码:

import requests

session = requests.Session()
response1 = session.get('https://www.example.com')
response2 = session.get('https://www.example2.com')
print(response1.status_code)
print(response1.text)
print(response2.status_code)
print(response2.text)

在这个示例中,我们使用 Session 对象发送了两个 GET 请求,并打印了响应的状态码和文本内容。

九、处理 JSON 数据

如果服务器的响应是 JSON 格式的,你可以使用response.json()方法将响应内容解析为 Python 对象。以下是一个示例代码:

import requests

response = requests.get('https://www.example.com')
data = response.json()
print(data)

在这个示例中,我们使用response.json()方法将响应内容解析为 Python 对象,并将其存储在data变量中。

十、处理异常情况

在使用 requests 库发送 HTTP 请求时,可能会遇到一些异常情况,例如网络连接失败、服务器响应错误等。你可以使用response.raise_for_status()方法来检查响应的状态码,如果状态码不是 200,表示请求失败,将抛出 HTTPError 异常。以下是一个示例代码:

import requests

response = requests.get('https://www.example.com')
response.raise_for_status()

在这个示例中,我们使用response.raise_for_status()方法来检查响应的状态码,如果状态码不是 200,表示请求失败,将抛出 HTTPError 异常。

十一、总结

通过以上内容,我们学习了 requests 框架的基础知识,包括安装、发送 GET 和 POST 请求、设置请求头、处理响应、使用代理、使用 Session 对象、处理 JSON 数据、处理异常情况等。希望这些内容能够帮助你快速学习 requests 框架,如果你还有其他问题,请随时提问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试界的酸菜鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值