python:requests庫發送參數+文件


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 庫,參數格式如代碼示例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM