python接口自动化之模拟文件上传接口

一般上传文件的接口格式如下:

import requests
# 定义url
url = "http://example.com/upload-file"
# 定义请求体(如果没有可以不写),为None即可
data = {'key1': 'value1', 'key2': 'value2'}
# 定义请求头
headers = {'token': 'token'}
# 定义上传的文件参数
files = {'file': ('py.xlsx', open(r'D:\Users\72036454\Desktop\pythonProject4\data\upload_files\py.xlsx', 'rb'))}
# 发送请求
response = requests.post(url, headers=headers, data=data, files=files)
# 获取响应
print(response.text)

 

有些参数是需要根据自己的接口而定的。

URL: 根据自己的来设定

请求体:根据自己的来设定, 可以不写,也可以为None

请求头:这个要注意了,我踩了很多次坑,请求头中的这个参数 “Content-Type” 不要填进去python代码中的(请求头)里, 因为使用文件上传 files 参数时, python已经帮你传了, 如果(请求头)里再传一次就会报错

文件参数:

  “file” 这个值一般是固定的, 但是也有例外, 可以通过fiddler查看上传接口请求头中“Content-Disposition”中的值,里面name=""是什么值,file就填什么值。

  “py.xlsx” 这个是你文件的名称,一般就是文件的名称,但也有例外,可以通过fiddler查看上传接口请求头中的“Content-Disposition”,里面filename=""是什么值,file就填什么值。

  open 打开文件的意思, 需要加载出来才能上传

  r'D:\Users\72036454\Desktop\pythonProject4\data\upload_files\py.xlsx' : 上传文件的路径

  ‘rb’ :其中 "r" 表示以只读模式打开文件,而 "b" 表示以二进制模式打开文件

 

posted @ 2023-04-11 20:42  博无止境  阅读(192)  评论(0编辑  收藏  举报