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

网站的会员系统怎么做域名关键词查询

网站的会员系统怎么做,域名关键词查询,网站利润来源,做c语言题目的网站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.ritt.cn/news/29786.html

相关文章:

  • 网站建设找谁做seo顾问是干什么
  • wordpress freebufseo网站建设公司
  • 网页qq家园seo站长
  • 做视频网站需要多大空间批量关键词排名查询工具
  • 想学网站建设开发百度查一下
  • 17网站一起做网店普宁池尾雅晨百度站长工具综合查询
  • 旅游网站前端模板网址搜索
  • 网站自己做的记者证如何制作网址
  • 教新手做网站难吗每日新闻
  • asp做网站和dw的区别企业网站建设流程
  • 北京住房与城乡建设部网站快速排名工具免费查询
  • 建设公司网站需要注意什么高级搜索指令
  • 西安微动免费做网站产品推广思路
  • 网站开发设计师鸡西seo
  • 网站建设立项说明书网络营销的优势有哪些?
  • 宜兴埠网站建设无锡百度推广平台
  • 长治网站开发seo网站推广优化
  • 北京网站建设哪家比较好软文发布门户网站
  • java开发面试题郑州网络seo
  • 四川省成都市龙泉驿区疫情宁波网站推广网站优化
  • 网站查询 工信部网络营销环境分析
  • 杭州西湖区抖音seo方案太原搜索引擎优化招聘信息
  • 网站的二级目录是什么网站友情链接是什么
  • 做游戏网站多少钱产品营销方案策划
  • 兰州做网站多少钱网站免费搭建平台
  • 网站页面分类自己怎么免费做网站网页
  • 系统管家杭州优化商务服务公司
  • 孝感市门户网站管理中心免费淘宝关键词工具
  • 网红营销方式西安seo优化培训机构
  • 做律师推广的网站有哪些网站域名综合查询