python 呼叫web介面匯入表格檔案
阿新 • • 發佈:2022-03-31
應用場景
需要進行表格匯入到系統中時
從web介面呼叫時,獲取請求頭資訊
注意,這裡需要將 Content-Type: multipart/form-data; 進行去除,不然會報錯
拿到from_data的引數資訊 後面再程式裡進行填參處理
實現程式碼
# -*- ecoding: utf-8 -*- # @ModuleName: test001 # @Function: # @Author: darling # @Time: 2022-03-31 15:52 import os import sys import time import requests from loguru import logger def 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 headers def 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()