python实现 文件+参数 发送request

需求:

  该接口,含两个参数,一个是file,一个是paperName。其中file为上传的文件。content-type为form-data。

 

 

 根据python中的request源代码,可知,发送一个request,可以传递的参数有很多。而我们这次主要用到的就是files,当然method、url、headers、及data/json也是每次发送request必备的。

 

 

 

主要的实现方式:

# 用二进制的方式打开需上传的文件。

f = open(filename, "rb")
file = [
    ("file", (filename, f, "file/xlsx")) # 此处"file"为上传的参数名;filename可以为当前目录下的文件(仅文件名即可),也可以是其他目录下的文件(用相对路径)
]

实现代码:

f = open(filename, "rb")
file = [
("file", (filename, f, "file/xlsx"))
]
filename = '
../data/required_upload.xlsx' # 此处写的是放在data目录下的文件。如果是当前目录下的,直接'required_upload.xlsx'即可
response = request(method=method, url=url, headers=headers, files=file, data=data)
f.close()

总结tips:

1. 以二进制的方式打开文件,文件可以是file / img
2. 文件名如果非当前目录,则应使用相对路径
3. 发送请求结束后,应立刻关闭文件
6. content-type为form-data,request语句中应注意是data=data,若content-type为application/json等,则是json=data
4. 试着去读一读看看源码
5. 如果多次需要上传文件,不妨把#主要实现方式#里的代码封装起来,方便以后调用
 

posted @ 2021-01-04 17:58  槐夏  阅读(981)  评论(0编辑  收藏  举报