Python requests

1.requests简介

Python requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。

2.requests使用

2.1 发送GET请求

python 复制代码
response = requests.get("http://www.baidu.com")

2.2 发送POST请求

python 复制代码
response = requests.post(url='https://ihrm-java.itheima.net/api/sys/login',
                         headers={'Content-Type': 'application/json'},  #指定请求头
                         json={"mobile": "13800000002", "password": "123456"},#当content-Type是json类型时使用json属性设置请求体
                         data={"key":"value"} #当content-Type是表单类型时使用data设置请求体
                         cookies={}, #设置cookie,一般用在两个有依赖的接口上,比如只有登录才能访问历史订单,我们在访问历史订单的请求中就需要携带登录请求返回的cookie
                         timeout=10   #超时时间
                         )

其他的delete,put也是类似的,只是方法不同,这里不再列出。

3.查看响应对象的属性

具体使用:

我们一般使用status_code配合unittest设置断言:self.assertEqual("200" , response.status_code)或者将响应体转换为json对象查看某个属性,当然也可以对他进行断言:response.json().get('属性名')

4.requests.Session()

当存在两个接口有依赖关系,需要使用到cookie时,我们可以实例化一个requests.Session()对象,通过这个对象调用GET或者POST方法,它会自动保存cookie,不需要我们显式指定cookie,比如现在有一个登录接口login,一个查看历史订单接口show_history。要想正确访问show_history,就必须携带login返回的cookie值,我们就可以使用下面的代码:

python 复制代码
session = request.Session()
sesison.get("xxxx/login")
response = session.get("xxxx/show_history")
#现在response就成功获取了查看历史订单的响应体对象

下面是是使用普通requests方法实现同样的效果:

python 复制代码
response = requests.get("xxxx/login")
cookie = response.cookies
response = requests.get(url='xxxx/show_history',cookies=cookie)

可以看出普通requests需要手动管理cookie,而session对象则可以自动。

相关推荐
玉鸯31 分钟前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260851 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao1 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
人邮异步社区2 小时前
怎么把C语言学到精通?
c语言·开发语言
qetfw2 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
心平气和量大福大2 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai2 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
用户8356290780512 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
এ慕ོ冬℘゜3 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript