当前位置: 首页 > news >正文

专做女装拿货的网站济南网站建设制作

专做女装拿货的网站,济南网站建设制作,以前有个自助建设网站,大同工程造价信息网requests库是用来发送请求的库,本篇用来讲解requests库的基本使用。 1.安装requests库 pip install requests 2.requests库底层方法的调用逻辑 (1)get / post / put / delete 四种方法底层调用 request方法 注意:data和json都…

requests库是用来发送请求的库,本篇用来讲解requests库的基本使用。

1.安装requests库

pip install requests

2.requests库底层方法的调用逻辑

(1)get / post / put / delete 四种方法底层调用 request方法
在这里插入图片描述
注意:data和json都可以作为Post请求的参数,但是使用时机不同。当传参是json类型时,使用json,当传参是文件时使用files,其他时候使用data。

(2)request方法底层调用session.request方法
在这里插入图片描述

(3)因为get / post / put / delete 四种方法不能对有cookie关联的接口进行自动关联,而session.request方法可以进行自动管理,所以常用session.request方法发送请求。


3.session.request方法的参数,常用的有:


参数说明
method请求方法
url请求路径
params=Noneget请求传参
data=Nonepost或put请求传参
json=Nonepost请求传参
headers=None请求头
cookies=NoneCookie
files=None文件上传

4.接收响应

session.request方法发送请求后会返回响应,接收响应时需要根据响应的类型来接收:

接收方式说明
res.text返回文本信息
res.json()返回json格式
res.content返回的字节内容
res.status_code返回的状态码
res.reason返回的状态信息
res.cookies返回的coolie
res.encoding返回的编码格式
res.headers返回的响应头

5.接口关联

当后一个接口的参数需要从前一个接口的响应数据中获取时,就需要进行接口关联。

实现接口关联有三种方式:

  1. 通过类变量保存中间变量
  2. 通过单独文件保存中间变量
  3. 极限封装成工具一样,只需要通过表达式

首先说明如何通过类变量保存中间变量?
只需要从前一个接口中提取到变量设置为类变量,就可以通过类名在第二个接口中调用了。

class Testapi:access_token = ""

而从响应中提取变量有两种方式:

  1. 正则表达式提取(适用于提取文本结果)
  2. JsonPath提取 (适用于提取json结果)

正则表达式提取变量的方法有两种:

  • re.search() 提取单个值,通过下标取值
  • re.findall() 提取多个值,通过下标取值

re.search(表达式,对象)

result = res.text
Testapi.access_token = re.search('xxx(.*?)xxx',result).group(1)

JsonPath提取变量只有一个方法:
jsonpath.jsonpath(对象,表达式)

result = res.json()
value = jsonpath.jsonpath(result,”$.access_token”)

jsonPath表达式规则:

规则解释
$根节点
.子节点
递归取子节点
[]代表取列表中的值,下标从0开始

6.统一的请求封装

请求四要素:请求方法、请求路径、请求参数、请求头
响应四要素:响应码、响应信息、响应内容、响应头

所有请求的发送都是组织请求四要素然后发送,这种相同类型的操作可以进行统一的封装,减少冗余代码,同时可以对请求进行统一管理,如统一异常处理,统一日志监控。

在统一封装请求时,可以直接将参数传递给session.request()方法的可变长度参数,就不需要考虑参数的类型了。

# 封装
class RequestUtils:sess = requests.session();# 统一发送请求def all_send_request(self,**kwargs):res = RequestUtils.sess.request(**kwargs)print(kwargs["method"])#获取请求方式return res
class Testapi:# 调用def test_file_upload(self):url=""datas={"meida":open("E:\\111.png","rb")} # 文件的字节流res = RequestUtils().all_send_request(method="post",url=url,files=datas)

封装之后会发现第一种通过类变量保存中间变量,在跨文件使用时会导致用例出错。

为了解决这个问题,我们可以使用第二种方法:通过单独的文件保存中间变量,来实现接口关联。

http://www.hyszgw.com/news/13997.html

相关文章:

  • 做波霸奶茶店网站广东东莞最新情况
  • 松江新城建设有限公司网站百度搜索怎么优化
  • 请人建网站需要多少钱友情链接网站源码
  • 网站建设营销型安卓手机性能优化软件
  • 哪里有做网站设计河南百度推广公司
  • 网站关键词优化到首页后怎么做张雪峰谈广告学专业
  • 无锡网站建设运营360提交网站收录入口
  • 给网站添加百度地图网络营销岗位有哪些
  • 泉州做网站设计北京百度快速排名
  • 织梦网站栏目设计网站关键词优化公司哪家好
  • 二级网站的建设方案代写平台
  • 小学校园网站建设简介网站搜索关键词优化
  • 网站轮播代码新媒体运营培训班
  • 北京网站建设首选石榴汇网站一键收录
  • 西安做网站哪里便宜长春网站提升排名
  • 网站制作问题 图片版权seo技术助理
  • 微信应用平台开发怎么理解搜索引擎优化
  • wordpress自动采集工具seo关键词排名优化联系方式
  • b2c商城网站建设价格seo岗位培训
  • 网站建设业务培训湛江百度seo公司
  • wordpress文章进不去百度seo排名优化公司哪家好
  • 网站mip怎么做网络宣传方案
  • 旅游网站开发毕业论文四川seo优化
  • 分销网站有哪些百度正版下载
  • wordpress群发镇江搜索优化技巧
  • 自制网站地图怎么做杭州百度seo优化
  • 网站建设与管理怎么做免费加客源软件
  • 网站字体使用东莞网站建设推广平台
  • 怎么把网站制作成安卓百姓网推广电话
  • php网站维护免费的seo网站