python接口测试传json格式参数,返回系统错误(其实是传参格式有误)

有问题的代码

import requests

url = 'https://testapi.xxxxx.com/activityCard/constraint/rule/edit'

data_name = [
{'endUserLimit':'2','ordinaryUsersLimit':'3','limitDate':'30','id':'12','state':'UPDATE'},
{'ordinaryUsersLimit':'3','limitDate':'30','id':'12','state':'UPDATE'},
{'endUserLimit':'2','limitDate':'30','id':'12','state':'UPDATE'}
]

i = 1
for a in data_name:
    r = requests.post(url,data=a)
    js = r.json()
    print('test_ %s '% i,js)
    i += 1

实质代码并无问题,只是我习惯性使用data传参,这次后台的参数需要传json格式的参数(以前是可以传from-data),所有一直用的是data传参数

需要修改为json

如下

import requests

url = 'https://testapi.xxxxx.com/activityCard/constraint/rule/edit'

data_name = [
{'endUserLimit':'2','ordinaryUsersLimit':'3','limitDate':'30','id':'12','state':'UPDATE'},
{'ordinaryUsersLimit':'3','limitDate':'30','id':'12','state':'UPDATE'},
{'endUserLimit':'2','limitDate':'30','id':'12','state':'UPDATE'}
]

i = 1
for a in data_name:
    r = requests.post(url,json=a)
    js = r.json()
    print('test_ %s '% i,js)
    i += 1

记录一下碰到的问题

原文地址:https://www.cnblogs.com/will-wu/p/14263766.html