接口|python 调用web接口导入表格文件

应用场景

需要进行表格导入到系统中时
从web接口调用时,获取请求头信息接口|python 调用web接口导入表格文件
文章图片

注意,这里需要将 Content-Type: multipart/form-data; 进行去除,不然会报错
【接口|python 调用web接口导入表格文件】拿到from_data的参数信息 后面再程序里进行填参处理接口|python 调用web接口导入表格文件
文章图片

实现代码
# -*- ecoding: utf-8 -*- # @ModuleName: test001 # @Function: # @Author: darling # @Time: 2022-03-31 15:52import os import sys import timeimport requests from loguru import loggerdef read_headers(file_name): if not exists_file(file_name): exit_sys(file_name + ' 文件不存在,请在当前目录检查必要文件') headers = {} with open(file_name, 'r', encoding='UTF-8') as file: lines = file.readlines() for line in lines: if line == '\n': continue header = {} # 这里用的是[: ]进行拆分,因为value中也会存在冒号 ll = line.split(': ') key = ll[0].strip() val = ll[1].strip().replace('\n', '') header[key] = val headers.update(header) return headersdef exit_sys(msg): logger.info(msg) logger.info('程序退出··· ···') time.sleep(3) sys.exit()def exists_file(file_name): return os.path.exists(file_name)def post_file(): url = '导入文件的url接口' # 要上传的文件 files = {'uploadedfile': open(r'C:\Users\Administrator\Desktop\收货页面EXCEL批量导入模板20220225.xlsx', 'rb'), 'Content-Type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'uploadType': 'html5', 'name': '收货页面EXCEL批量导入模板20220225.xlsx', 'index': 0 }# 显式的设置文件名 headers = read_headers('./header.txt')r = requests.post(url, files=files, headers=headers) logger.info(r.text)if __name__ == "__main__": post_file()

header.txt 里面就是 接口请求的头信息,直接从开发页面进行复制粘贴即可
注意, 去掉请求头里的 【Content-Type: multipart/form-data】 参数

    推荐阅读