前言:最近测试接口中遇到了一个接口,它其中的一个参数是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文件就作为参数传给接口了!
如果您觉得好请点赞 谢谢!