前言:最近測試接口中遇到了一個接口,它其中的一個參數是txt文件,一開始拿到這個需求有點懵啊,於是開始各種嘗試,先是把txt放在data參數中,然后無情的收到了報錯。
后面思考了一段時間,旁邊的開發同學和我說這是數據格式是form-data哦,不是json,然后感覺好像打開了新大門,最后通過不斷嘗試,接口pass了,下面就話不多說,直接上代碼。
首先公司的網站需要先拿到token來登錄 ,此處可以忽略哈
好了接下來就可以拿這個headers去請求了,這邊有個注意點,如果你的請求參數和我一樣,既有fom-data又有json字符串的話,headers里面別加Content-Type,這個很重要,當然如果單個類型的話你也可以嘗試加一下測試一把。
def test_import_one(): # 先去把文件讀出來然后放在一個字典中,等會會作為一個單獨參數傳給接口 request_file = {'file': open('txt文件導入/單表導入case1.txt', 'rb')} data = { "updateData":{ "templateId":"3" } } # 這一塊就是你的data參數,json化的就是這塊參數 request_data = { "data": json.dumps(data) } response = requests.post(url=pre_configured_url, data=request_data, headers=header_auth, files=request_file) print(response.status_code) print(response.json())
好了,這樣form-data格式的txt文件就作為參數傳給接口了!
如果您覺得好請點贊 謝謝!