php上传图片 $__files没有信息_Python接口测试文件上传实例解析
接口测试中,上传文件的测试场景非常常见。例如:上传头像(图片)、上传文件、上传视频等。下面以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口。
首先通过抓包分析上传文件接口的请求参数:
下面是上传文件接口脚本。把目标文件以open打开,然后存储到变量file。并且使用files参数指明请求的参数名称、上传文件的类型、以及上传文件的路径。
这里注意:content-type参数,如果我们通过form-data的方式上传文件,我们发送post请求的时候,headers这个参数中一定不能要包括这个值,,requests库会帮忙添加这个元素,加了可能会报错。
代码实现:
import requests
from utils.LogUtil import my_log
from faker import Faker
log=my_log()
faker = Faker('zh_CN')class marketCreate():def loginToken(self,mobile,code):'''登陆、注册接口:param mobile: 手机号:param code: 验证码:return:'''url='http://api.xxxxxx.net/v1/user/loginOrRegister' #登陆接口请求地址headers={'Content-Type': 'application/json'} #请求头信息,json数据类型json={"code":code,"deviceId":"5de548ad0e268bc0","deviceName":"HWNXT","mobile":mobile,"mobilePrefix":"63","version":"39"} #请求数据r=requests.post(url,headers=headers,json=json) #发送请求token=r.json()['data']['userVO']['token'] #获取tokenlog.info('手机号'+mobile+'的token值为:'+token) #打印日志return token #将token返回出去def uploadimages(self,mobile,file_path,filename):'''上传图片接口:param mobile: 手机号:param file_path: 文件路径:param filename: 文件名称:return:'''token = self.loginToken(mobile=mobile, code='789789') #请求登陆接口,获取tokenurl='http://api.xxxxxx.net/v1/upload/images' #上传文件接口请求地址headers={'token': token} #请求头信息关联token。不需要赋值Content-Type,requests库会帮忙添加这个元素,加了可能会报错。file_data={'file':(filename,open(file_path,'rb'),'image/jpeg')} #重点:上传文件请求数据。r=requests.post(url=url,headers=headers,files=file_data) #发送请求print(r.json()) #打印响应结果if __name__ == '__main__':m=marketCreate()# 测试,输入手机号、文件地址、文件名称信息;m.uploadimages(mobile='639266558329',file_path='D:pyCharm_workcmkjProjectdatamarket.jpg',filename='123456.jpg')
执行结果:
C:Python38python.exe D:/pyCharm_work/cmkjProject/page/marketPage.py
2020-01-02 13:48:09,580-D:pyCharm_workcmkjProjectutilsLogUtil.py-INFO-手机号639266558329的token值为:ba9b4f622fa4d6461523870c0d00df46
{'code': 0, 'data': '/group1/M00/00/00/rBDKPF4NhE-ABIFmAAGhT9tm-NA158.jpg', 'success': True}Process finished with exit code 0
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
php上传图片 $__files没有信息_Python接口测试文件上传实例解析相关推荐
- python 抓包 上传 文件_Python接口测试文件上传实例解析
接口测试中,上传文件的测试场景非常常见.例如:上传头像(图片).上传文件.上传视频等.下面以一个上传图片的例子为大家讲解如何通过 python 测试上传文件接口. 首先通过抓包分析上传文件接口的请求参 ...
- php文件上传详解,PHP文件上传实例详解!!!
这篇文章主要介绍了PHP文件上传实例代码,需要的朋友可以参考下 首先来看下上传部分的表单代码: 文件: 这里有几个要注意的地方,首先看这句 ,这里我们采用POST方法,个别浏览器还支持PUT方法,当 ...
- php中file对象实例,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax - phpStudy...
File, FileReader 和 Ajax 文件上传实例分析(php) File FileReader 可以干什么?Ajax文件上传例子 FileReader 对象可以读取文件的 Base64编码 ...
- springboot 上传文件解析入库_springboot实现文件上传步骤解析
这篇文章主要介绍了springboot实现文件上传步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一步编写上传的前段页面 data-tar ...
- WAF网页应用防火墙详解(设计思路-防御恶意文件上传实例-厂商防御技术-Imperva WAF部分特色功能了解)
定义:Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护.SQL注入.XML注入.XSS等.由于是应用层而非网络层的入侵,从技术角度都应该称为Web IPS,而不是Web防火墙.这里之 ...
- java 图片上传_java web图片上传和文件上传实例
本篇文章主要介绍了java web图片上传和文件上传实例,具有一定的参考价值,有需要的可以了解一下. 图片上传和文件上传本质上是一样的,图片本身也是文件.文件上传就是将图片上传到服务器,方式虽然有很多 ...
- SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例
SpringBoot+Mysql+MDUI实现数据的增删改查和列表操作及单,多文件上传实例 开源地址:https://gitee.com/jfkjrym/demo.git evan原创内容!evan原 ...
- 用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例
用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例.web服务用flask框架,数据库操作用的pymysql框架.教程在我B站有的. 开源地址:https://git ...
- python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单
很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...
最新文章
- html 样式的几种实现方法
- Python 常用 PEP8 编码规范和建议
- uestc 250 windy数(数位dp)
- 认识 Linux 系统结构
- sql学习笔记---公用表达式(CTE)
- 【计算机网络复习 数据链路层】3.4.2 停止-等待协议
- oracle 01304,关于ORA-01034和ORA-27101的解决方法
- c++new时赋初值_优质 quot;嵌入式C编程quot; 必备指南
- strus2中配置jqgrid入门
- python计算凸包并绘制凸包曲线
- 用python生成九九乘法表的指令_Python中生成九九乘法表的方法有哪几种?
- Python3 捕捉异常
- Android 手机成监控:仍在“逃亡”的斯诺登开发了款反间谍应用
- 进阶05 常用数据结构
- win10系统安装postgresql后无法连接
- Javascript高级程序设计第四版详细测评
- Caused by: java.lang.NoSuchMethodException: init [class android.content.Context, interface andr解决
- 3亿流量还能让Keep错几次?
- shotcut添加字幕
- 计算机编程的好处,青少年学习编程的好处有哪些?
热门文章
- PCL中outofcore模块---基于核外八叉树的大规模点云的显示
- 点云python-pcl
- 设置WebStorm查看本地源码文件个人修改的历史记录快捷键Alt+Shift+H、Ctrl+Shift+H(通常用于调试bug,发现文件出问题需要回溯到若干天之前)
- vue下轻松解决模拟微信视频缩略图拖拽→吸附窗口边界的功能
- 在Ubuntu 14.04 64bit中永久添加DNS的方法
- Ubuntu 12.04 64位上安装Wine QQ2013
- weiss数据结构和算法书的使用说明
- 藤摇椅游戏道具制作全流程讲解视频教程
- 通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟
- 【转】通过Hibernate将数据 存入oracle数据库例子