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.mzph.cn/news/58504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kali 软件管理

kali 更新 1. 查看发行版本 ┌──(root㉿kali)-[~] └─# lsb_release -a No LSB modules are available. Distributor ID: Kali Description: Kali GNU/Linux Rolling Release: 2023.2 Codename: kali-rolling2. 查看内核版本 ┌──(root㉿kali)-[~] └─…

正则常见问题及解决方案

使用正则处理问题的基本思路。有一些方法比较固定,比如将问题分解成多个小问题,每个小问题见招拆招:某个位置上可能有多个字符的话,就⽤字符组。某个位置上有多个字符串的话,就⽤多选结构。出现的次数不确定的话&#…

突破连接壁垒,火山引擎边缘云网络的先行之路

在万物互联时代,信息不局限于人与人之间的交流,大量的机器设备也需要进行信息交流。就在去年,我国率先迎来了“物超人”的历史性时刻,即物联网连接数超越了人联网连接数。边缘云的发展进入到“黄金十年”。 “要致富,…

JavaFX 加载 fxml 文件

JavaFX 加载 fxml 文件主要有两种方式,第一种方式通过 FXMLLoader 类直接加载 fxml 文件,简单直接,但是有些控件目前还不知道该如何获取,所以只能显示,目前无法处理。第二种方式较为复杂,但是可以使用与 fx…

【Java】自动取款机ATM案例

目录 1. 封装数据2. 欢迎界面3. 实现开户功能4. 生成卡号5. 登录功能6. 展示用户操作界面7. 查询账户8. 存款9. 取款10. 转账11. 修改密码12. 注销 用户输入密码,如果密码校验通过,就会进入ATM机的主操作界面:有查询、取款、存款、转账等业务…

Docker容器与虚拟化技术:Docker compose部署LNMP

目录 一、理论 1.LNMP架构 2.背景 3.Dockerfile部署LNMP 3.准备Nginx镜像 4.准备MySQL容器 5.准备PHP镜像 6.上传wordpress软件包 7.编写docker-compose.yml 8.构建与运行docker-compose 9.启动 wordpress 服务 10.浏览器访问 11.将运行中的 docker容器保存为 doc…

智能设计师的崛起:探寻智元兔AI设计师的神奇之旅

AI绘图是指利用人工智能技术来生成或改善绘图作品的方法和工具。通过使用深度学习和生成对抗网络等算法,人工智能可以学习和模仿艺术家的创作风格,生成逼真的艺术作品。 智元兔-AI设计师是一款基于人工智能设计工具,利用机器学习和深度学习技…

什么是ChatGPT水印,ChatGPT生成的内容如何不被检测出来,原理什么?

太长不看版 1. 什么是ChatGPT水印? ChatGPT水印是AI以伪随机方式生成的独特tokens序列。该序列用来作为水印,以区分AI生成内容和人类原创内容。 2. 如何规避ChatGPT水印? 一种规避方法是使用其他AI模型改写ChatGPT生成的文本。这会破坏水…

启动线程方法 start ()和 run ()有什么区别

在Java中,线程可以通过调用start()方法或者直接调用run()方法来执行。这两种方式有着重要的区别: start() 方法:当你调用线程的start()方法时,它会使线程进入就绪状态,等待系统调度。系统会为该线程分配资源,并在合适的时机执行线程的run()方法。实际上,start()方法会启…

大数据(二)大数据行业相关统计数据

大数据(二)大数据行业相关统计数据 目录 一、大数据相关的各种资讯 二、转载自网络的大数据统计数据 2.1、国家大数据政策 2.2、产业结构分析 2.3、应用结构分析 2.4、数据中心 2.5、云计算 一、大数据相关的各种资讯 1. 据IDC预测&#xff0…

SpringBoot 读取配置文件的值为 Infinity

1.配置信息 appid:6E212341234 2.获取方式 Value("${admin}")private String admin; 获取到结果 Infinity 3.修改方案 配置信息上加号 appid:‘6E212341234 yml中使用[单引号]不会转换单引号里面的特殊字符,使用""[双…

vue3使用canvas实现图层的移动、缩放、旋转等其他编辑操作

一、Canvas的点击区域检测以及如何监听Canvas上各种图形的点击事件 1、利用数学的力量 一些简单有规则的图形,比如矩形,椭圆,多边形......我们可以使用一些数学函数来计算判断。 这种方式非常棒,当你的画布上没有大量的图形时,他可能是非常快的。 但是这种方式很难处理…

JOJO的奇妙冒险

JOJO,我不想再做人了。 推荐一部动漫 JOJO的奇妙冒险 荒木飞吕彦创作的漫画 《JOJO的奇妙冒险》是由日本漫画家荒木飞吕彦所著漫画。漫画于1987年至2004年在集英社的少年漫画杂志少年JUMP上连载(1987年12号刊-2004年47号刊),2005年后在集英…

全国首台!浙江机器人产业集团发布垂起固定翼无人机-机器人自动换电机巢

展示突破性创新技术,共话行业发展趋势。8月25日,全国首台垂起固定翼无人机-机器人自动换电机巢新品发布会暨“科创中国宁波”无人机产业趋势分享会在余姚市机器人小镇成功举行。 本次活动在宁波市科学技术协会、余姚市科学技术协会指导下,由浙…

DBO优化SVM的电力负荷预测,附MATLAB代码

今天为大家带来一期基于DBO-SVM的电力负荷预测。 原理详解 文章对支持向量机(SVM)的两个参数进行优化,分别是:惩罚系数c和 gamma。 其中,惩罚系数c表示对误差的宽容度。c越高,说明越不能容忍出现误差,容易过拟合。c越小&#xff0…

Pytorch-以数字识别更好地入门深度学习

目录 一、数据介绍 二、下载数据 三、可视化数据 四、模型构建 五、模型训练 六、模型预测 一、数据介绍 MNIST数据集是深度学习入门的经典案例,因为它具有以下优点: 1. 数据量小,计算速度快。MNIST数据集包含60000个训练样本和1000…

Go学习-Day4

文章目录 Go学习-Day4函数值传递,引用传递常用的函数 异常处理数组Slice切片 Go学习-Day4 个人博客:CSDN博客 函数 值传递,引用传递 值传递直接拷贝值,一般是基本数据类型,数组,结构体也是引用传递传递…

【程序员必知必会2】中英文混合超长字符串如何截断(C++)

背景 用户输入的搜索关键词可能是包含中英文、特殊字符混合的字符串,如果长度超长,可能会导致下游服务的报错,需要提前对keyword做截断。 版本一 (只考虑中英文) bool CutOff(std::string keyword){int query_length keyword.length();// …

网络编程 http 相关基础概念

文章目录 表单是什么http请求是什么http请求的结构和说明关于http方法 GET和POST区别http常见状态码http响应http 请求是无状态的含义html是什么 (前端内容,了解即可)html 常见标签 (前端内容,了解即可)关于…

App卡帧与BlockCanary

作者:图个喜庆 一,前言 app卡帧一直是性能优化的一个重要方面,虽然现在手机硬件性能越来越高,明显的卡帧现象越来越少,但是了解卡帧相关的知识还是非常有必要的。 本文分两部分从app卡帧的原理出发,讨论屏…