https://www.hangge.com/blog/cache/detail_2375.html
https://www.jianshu.com/p/a7bd73de7d34
背景:
項目中有一個接口是需要導入Excel文件,並附帶其他參數,過程比較費時,在此記錄。
一、抓包使用postman調試
抓包得知Content-Type為multipart/form-data,入參如下圖
所以現在postman中調試好接口,配好后如下:
請求結果為:
二、使用python中requests庫請求接口
from requests_toolbelt import MultipartEncoder import requests import os url = "http://192.168.2.1/****/uploadfile" file_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) m = MultipartEncoder( fields={"isNotKCode": "Y", "fromCode": "DIST_INTERNAL_022/DIST_INTERNAL_120000/DIST_INTERNAL_120104", "fromName": "天津/天津市/南開區", "sendName": "asdfas", "sendMobile": "18526363636", "sendPhone": "", "sendAddress": "e5632452542345", "uploadType": "1", "fileType": "3", "file": (file_path + "/標准模板(不包含發件人信息).xls", open(file_path + "/標准模板(不包含發件人信息).xls", 'rb'), 'application/vnd.ms-excel', {'Expires': '0'}) } ) response = requests.post(url, data=m, headers={"Content-Type": m.content_type, "jwt-token": "KYkmsPDBk"}) print(response.json())
注意:單獨的requests庫已經不滿足了,需要使用requests_toolbelt 庫,參數格式如代碼示例