应用场景
需要进行表格导入到系统中时从web接口调用时,获取请求头信息
文章图片
注意,这里需要将 Content-Type: multipart/form-data; 进行去除,不然会报错
【接口|python 调用web接口导入表格文件】拿到from_data的参数信息 后面再程序里进行填参处理
文章图片
实现代码
# -*- 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】 参数
推荐阅读
- Notes|Python: 如何去除字符串多余的空格、换行符(二)
- 爬虫|一个简单的网络爬虫-获取全国新型冠状肺炎疫情
- Python|用python爬取全国和全球疫情数据,并进行可视化分析(过程详细代码可运行)
- Python爬虫|每日一练(Python爬虫爬取全国新冠肺炎疫情数据实例详解,使用beautifulsoup4库实现)
- Python爬虫|python爬虫(网易新冠疫情数据爬取(一))
- Python日常小操作|Python爬取疫情数据
- 介绍Python字符串下标(索引)
- 认识Python中的字符串
- Python字符串切片操作和切片含义