【python 中request 模块】

python 中request 模块


前言

最近在学习python中request模块,正好有一个post接口需要上传图片 且需要登录信息的token,于是写一篇分享心得

一、怎么利用request模块发送请求?

我这边就不例举网上所说的几大请求,以及如何下载
直接直奔主题,后续评论进行补充说明
首先引用模块 import requests
利用requests模块中的 post和get发送即可
在这里插入图片描述此处用post模块发送登录请求,携带参数data,请求中返回了我们需要的参数token
如下几处谨记
print(response.status code) # 返状态码print(response.reason) # 正常返回OK,异常返回对应的Http响应状态描述# 获取响应头print(response.headers)print(response.text) # 返回请求的内容print(response.content) # 返请求的内容print(response.cookies) # cookies内容

二、提取请求中返回的token

1.处理数据为python 字典类型

当返回数据为{”s“:”b“}我们怎么提取出来b,这是一个问题,
首先第一步这是个json数据类型,我们利用python中函数json.loads 将这串数据转化为字典类型,
其次我们就可以用data[“a”]就可以提取出来b,
代码如下(示例):
data = json.loads(r1.text) # 将响应的文本转换为Python对象(如字典)
first_value = data.get(‘access_token’) # 使用get方法可以安全地提取值,如果键不存在则返回None
在这里插入图片描述
最后将所提取出来的token携带进下一个接口,那么问题来了,如果json数据类型里面还嵌套一个列表,怎么去做?

2.怎么利用request模块上传图片

本次的请求就两个请求,登录,获取登录的接口的token,去上传图片,
token解决了,就要研究怎么上传图片
第一步肯定是要告诉机器表示图片的位置
此处忽略
第二步就是要打开图片
代码如下(示例):
with open(image_pic,‘rb’) as image_file:
files = {‘idcardOcr’: (‘image_name.jpg’, image_file, ‘image/jpeg’)}
此处中idcardocr 就是我们请求中参数名,image_pic是我们定义的图片名字,image/jpeg就是类型,此处衍生一下,因为本人是名测试人员,在jmeter中对应MIME类型,就很好理解。
在这里插入图片描述

第三步告诉机器这个图片的类型
同上
第四步将token 放进请求头里面 ,这里面一定要注意
是放在头里面,之前以为要放在cookie里面研究半天
headers ={
“A”:f’Bearer {first_value}',
}
此处中为什么没有加数据类型,默认都是Content-type from-data
第五步完成
直接发送post请求,将参数放置,运行即可
代码如下(示例):
r2 = requests.post(url=‘url’,data=data1,files=files,headers=headers)

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了request模块,利用请求一返回的token进行请求以及用request模块中发送图片的请求举例,当然如果请求中一个带图片一个不带图片怎么发?小伙伴也可以考虑一下

  • 33
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值