url = "" # 上传文件的接口地址 header = { "Content-Type" "" , "Cookie" : "" } # 请求头部信息,大部分上传照片不要 "Content-Type" 值 data = { } # data传参(部分接口需要data传参) file_path = "" # 图片或文件的绝对路径 file = { "multipartFile" : ( "a.jpg" , open ( file_path , "rb" ) , "image/jpeg" ) } # "image/jpeg" 照片格式 #file = { "multipartFile" : ( "产品导入.zip" , open ( path , "rb" ) , "application/zip" ) } # "application/zip" zip格式 r = requests . post ( url , headers = header , data = data , files = file ) print ( r . json ( ) ) # 打印接口返回数据

继续优化下,上面代码运行后虽然上传图片成功,但是会报文件未关闭的错误。因此我们改造下,使用with方法打开,它会自动关闭。
代码如下:

# coding=utf-8
# 导入requests包
import requests
url = ""		#  上传文件的接口地址
header = {"Content-Type""", "Cookie":"" }	#  请求头部信息,大部分上传照片不要"Content-Type"值
data= {}	# data传参(部分接口需要data传参)
file_path = ""  # 图片或文件的绝对路径
with open(self.img_path, 'rb')as f:    # 使用with打开图片后自动关闭,直接用open后面会报未关闭图片错误
	file = {"multipartFile": ("a.jpg", f.read(), "image/jpeg")}  # "image/jpeg"照片格式
	#file = {"multipartFile": ("产品导入.zip", f.read(), "application/zip")}	# "application/zip"zip格式
r = requests.post(url, headers=header, data=data, files=file)
print(r.json())	# 打印接口返回数据
                    本文介绍如何使用requests上传图片或文件一般上传都需要使用到post请求,使用files参数上传图片或文件代码如下# coding=utf-8# 导入requests包import requestsurl = ""		#  上传文件的接口地址header = {"Content-Type":"", "Cookie":"" }	#  请求头部信息data= {}	# data传参(部分接口需要data传参)file_path = ""  # 图片或文件的绝对路径file = {"
				
from requests_toolbelt.multipart.encoder import MultipartEncoder def upload_portrait(self): encoder = MultipartEncoder( {"file": ('docker.jpeg', open("E:/work/XXX/docker.jpeg", "rb"), 'image/jpeg'), "appBiz": "auth_pic",
python+requests接口自动化1. 介绍2. 快速上手(发送get和post请求<含json>)3. 接口<参数>的关联与cookie提取4. 接口实现文件(图片)上传结尾 1. 介绍 Python+Requests接口自动化介绍、协议及环境搭建 2. 快速上手(发送get和post请求<含json>) 发送get请求与post请求(包含json格式的请求) 3. 接口<参数>的关联与cookie提取 接口<参数>的关联与cookie提取 4. 接口
1. 一切的脚本都是为了偷懒 随着一个程序的开发周期增加,不管是代码还是静态资源都会不断的增加,每次图片上传服务器都是一件比较繁琐的事情,如果多让后端上传几次,估计就要打架,所以为了公司的团结,本人决定写个自动上传的脚本,一劳永逸! 2. 准备工作 脚本需要使用的库 import requests,json,os 模拟上传的图片放到脚本所在文件夹的images文件,统一方便管理 4. 配置上传接口和参数 url = 'https://xxxx/uploadToSoa' data = {"to
框架代码已封装 小白 3行代码即可实现接口自动化 使用教程:https://blog.csdn.net/weixin_41121249/article/details/125162171?spm=1001.2014.3001.5502 框架搭建历程如下 1pytest插件,运行规则以及参数,pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等 2Fixture固件,contest.py,断言以及Allure报告生成! 3Allure报告定制以及Parametrize数据驱动 4requests模块详解以及Cookie,Session关联处理 5接口统一请求封装和接口关联封装 6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据驱动封装 9异常日志与BaseUrl封装
官方文档:https://2.python-requests.org//en/master/ 工作中涉及到一个功能,需要上传附件到一个接口,接口参数如下: 使用http post提交附件 multipart/form-data 格式,url : http://test.com/flow/upload, 字段列表: md5: //md5加密(随机值_当时时间戳) filesize: //文件大小 file: //文件内容(须含文件名) {"success":true,"uploadName":"tmp.xml","uploadPath":"uploads\/2
接口自动化框架(1-4)(5)(6)(7)(8)(终极版)共6个分支 1pytest插件,运行规则以及参数,pytest.ini配置文 件,跳过用例,用例执行顺序,夹具等 2Fixture固件,contest.py,断言以及Allure报告生成! 3Allure报告定制以及Parametrize数据驱动 4requests模块详解以及Cookie,Session关联处理 5接口统一请求封装和接口关联封装 6接口自动化框架封装之规范YAML测试用例&接口关联封装改进&基础路径封装改进 7热加载封装以及断言封装 8数据类型处理以及DDT数据驱动封装 9异常日志与BaseUrl封装
import base64 session = requests.session() url = 'http://ipadmin.zhaopingou.cn/add_userVerification_upload_zc' session.headers = { 'Host': 'ipadmin.zhaopingou.cn', 'User-Agent': 'Mozilla/5.
轻烟飘荡: 差不多这样 loc=driver.find_element(By.XPATH, '//*[@id="xubox_layer20"]/div[1]/div/span[2]') action_chains = ActionChains(driver) action_chains.move_to_element(loc).perform() message = driver.text(loc) Python报错集合篇9-SyntaxError: positional argument follows keyword argument sonnyuu: 很棒,谢谢你的评价。定义函数方法时,提前定义好默认值,是可以直接避免该报错,实例:def 函数名(形参名=默认值, ...) Python报错集合篇9-SyntaxError: positional argument follows keyword argument asfvdvc: positional argument follows keyword argument 解释有误,这句话的意思是python中必须先把所有位置参数传递过去,才能传递关键字参数,因此,代码可以写为 fun(1, y=2) Python+Selenium练习篇15-如何抓取一闪而过的弹窗信息 qq_42373923: action_chains = ActionChains(drver) 中的drver 是什么