学会Requests库,就学会了Python接口自动化

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)-优快云博客文章浏览阅读2k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……https://blog.youkuaiyun.com/AI_Green/article/details/134931243?spm=1001.2014.3001.5501在 Python 中进行网络请求是日常开发中的一个常见任务,而 requests 库是处理这类任务的一种强大工 具。requests 提供了简单而灵活的接口,使得发送 HTTP 请求和处理响应变得非常容易。在这篇文章中,我们将深入研究如何使用 requests 库执行各种网络请求,处理响应以及利用一些高级功能。 

01 安装 Requests 

首先,确保你已经安装了 requests 库。如果没有安装,可以使用以下命令:

pip install requests

02 发送 GET 请求 

requests 库的最基本用法之一就是发送 GET 请求。下面是一个简单的例子:

import requests

url = 'https://www.example.com'

response = requests.get(url)

print(f"Status Code: {response.status_code}")

print("Response Content:")

print(response.text)

在这个例子中,我们使用 requests.get() 函数发送了一个 GET 请求,并打印了响应的状态码和内容。response.text 包含了响应的文本内容。 

03 发送带参数的 GET 请求 

在实际应用中,我们通常需要向服务器发送一些参数。例如,在进行搜索时,可能需要将搜索关键字作为参数传递给服务器。下面是一个发送带参数的 GET 请求的例子:

import requests

url = 'https://www.example.com/search'

params = {'q': 'python', 'page': 1}

response = requests.get(url, params=params)

print(f"Status Code: {response.status_code}")

print("Response Content:")

print(response.text)

在这个例子中,我们通过 params 参数传递了搜索关键字和页码。

0发送 POST 请求 

使用 requests.post() 函数可以发送 POST 请求。POST 请求通常用于向服务器提交数据,比如登录信息或表单数据。

import requests

url = 'https://www.example.com/login'

data = {'username': 'user', 'password': 'pass'}

response = requests.post(url, data=data)

print(f"Status Code: {response.status_code}")

print("Response Content:")

print(response.text)

在这个例子中,我们通过 data 参数传递了用户名和密码。

05 自定义请求头 

有时,服务器可能需要特定的请求头信息。你可以通过设置 headers 参数来自定义请求头。

import requests

url = 'https://www.example.com'

headers = {'User-Agent': 'my-app/1.0'}

response = requests.get(url, headers=headers)

print(f"Status Code: {response.status_code}")

print("Response Content:")

print(response.text)

在这个例子中,我们通过 headers 参数设置了一个自定义的 User-Agent 头部。

06 处理响应

requests 库使处理响应变得非常简单。你可以获取响应的状态码、头部信息和内容。下面是一个例子:

import requests

url = 'https://www.example.com'

response = requests.get(url)

print(f"Status Code: {response.status_code}")

print("Headers:")

print(response.headers)

print("Response Content:")

print(response.text)

通过 response.status_code 获取状态码,通过 response.headers 获取头部信息,通过 response.text 获取响应 内容。 

07 处理 JSON 响应 

如果服务器返回的是 JSON 格式的数据,requests 可以直接将其解析为 Python 对象。

import requests

url = 'https://api.example.com/data'

response = requests.get(url)

data = response.json()

print("Parsed JSON Data:")

print(data)

在这个例子中,response.json() 将响应的 JSON 内容解析为 Python 对象。 

08 处理异常 

在实际开发中,网络请求可能会失败或超时。requests 库允许你捕获并处理这些异常。

import requests

url = 'https://www.example.com'

try:

  response = requests.get(url)

  response.raise_for_status() # 检查是否有错误的响应码

except requests.exceptions.HTTPError as errh:

  print(f"HTTP Error: {errh}")

except requests.exceptions.ConnectionError as errc:

  print(f"Error Connecting: {errc}")

except requests.exceptions.Timeout as errt:

  print(f"Timeout Error: {errt}")

except requests.exceptions.RequestException aserr:

  print(f"Error: {err}")

else:

  print(f"Status Code: {response.status_code}")

  print("Response Content:")

  print(response.text)

在这个例子中,我们使用了 response.raise_for_status() 来检查是否有错误的响应码,并通过异常处理机制来捕获不同类型的异常。 

09 使用 Session 进行持久性连接 

requests 的 Session 对象允许你保持一个持久性连接,这对于执行多个相关请求非常有用,比如在登录之后执行其他操作

import requests

url = 'https://www.example.com'

login_data = {'username': 'user', 'password': 'pass'}

# 创建一个 Session 对象

with requests.Session() as session:

   # 登录

   session.post('https://www.example.com/login', data=login_data)

   # 使用同一个 Session 对象进行后续请求

   response = session.get(url)

print(f"Status Code: {response.status_code}")

print("Response Content:")

print(response.text)

在这个例子中,我们使用 requests.Session() 创建了一个 Session 对象,并在登录后的请求中使用了相同 的 Session 对象

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】在这里插入图片描述
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值