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

Python requests实现图片上传接口自动化测试

最近帮别人写个小需求,需要本地自动化截图,然后图片自动化上传到又拍云,实现自动截图非常简单,在这里就不详细介绍了,主要和大家写下,如何通过Python+requests实现上传本地图片到又拍云服务器。

话不多说,因为我们要使用requests库实现图片上传接口自动化,那么第一步就需要进行按照requests。

一、安装:

pip install requests

二、开码:

1、因为要上传图片,所以我们得先登录又拍云,拿到cookies,登录接口实现代码如下:

def getCookies(self,username,password):
url = "https://console.upyun.com/accounts/signin/"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json, text/plain, */*',
'Referer': 'https://console.upyun.com/login/',
'Accept - Encoding': 'gzip, deflate, br',
'Accept - Language': 'zh - CN, zh;q = 0.9'
}
body = {
'password': password,
'username': username
}
requests.packages.urllib3.disable_warnings()
r = requests.post(url, data=body, headers=headers, verify=False)
cookies = r.cookiesreturn cookies

2、此时我们就可以调用登录接口拿到cookies,从而就可以直接掉上传图片接口传图片了。

cookies = getCookies("zhangsan","123qwe")headersUpload = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
'Accept': 'application/json, text/plain, */*',
'Referer': 'https://console.upyun.com/services/adver/filemanage/',
'Accept - Encoding': 'gzip, deflate, br',
'x-file-size': '209482',
'Content-Length': '209663',
'Accept - Language': 'zh - CN, zh;q = 0.9'
}files = {"file": (filename, open(picPath+filename, "rb"), "image/png")}
requests.packages.urllib3.disable_warnings()
try:
r = requests.put(
"https://console.upyun.com/folder/projectA/test//"+filename, files=files, headers=headersUpload,
cookies=cookies, verify=False)
except BaseException as e:
print("上传图片失败!",str(e))

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

http://www.lryc.cn/news/138832.html

相关文章:

  • 【LeetCode-面试经典150题-day13】
  • taro.js和nutui实现商品选择页面
  • 数据结构--算法的时间复杂度和空间复杂度
  • Vue中使用element-plus中的el-dialog定义弹窗-内部样式修改-v-model实现-demo
  • MySQL 主从配置
  • 上海亚商投顾:创业板指反弹大涨1.26% 核污染概念股午后全线走强
  • Mysql数据库管理
  • 【java安全】FastJson反序列化漏洞浅析
  • pytestx重新定义接口框架设计
  • 【文生图系列】Stable Diffusion原理篇
  • ARM-汇编指令
  • Java相关知识对应leetcode
  • js中?.、??、??=的用法及使用场景
  • 每日一题:leetcode 1109 航班预订统计
  • C#__自定义类传输数据和前台线程和后台线程
  • 司徒理财:8.21黄金空头呈阶梯下移!今日操作策略
  • Java8 实现批量插入和更新,SpringBoot实现批量插入和更新,Mybatis实现批量插入和更新
  • vue登录验证码组件,前端验证
  • SLS日志解析配置
  • CRM系统有哪些功能可以管理客户?
  • 15.树与二叉树基础
  • neo4j 图数据库 springboot
  • Linux下的系统编程——makefile入门(四)
  • Mybatis的综合案例-学生信息查询系统 用于校验是否真正学习掌握了动态SQL
  • 力扣:70. 爬楼梯(Python3)
  • 陕西广电 HG6341C FiberHome烽火 光猫获取超级密码 改桥接模式 提升网速
  • 无涯教程-PHP - 移除的扩展
  • 笔记:transformer系列
  • Mysql socket连接测试
  • 探究分布式操作系统的本质