python请求post json d

2024-06-02 18:27:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过请求发布JSON数据。我用来检查数据传输。我想发布的数据如下:

{'configList': [{'ccolumn': 'gender',
   'ctable': 'arc_mxdata_operator',
   'cvalue': '男',
   'formula': '包含',
   'integral': 1,
   'integralIfMissing': 0,
   'resultIfMissing': '10'},
  {'ccolumn': 'gender',
   'ctable': 'arc_mxdata_operator',
   'cvalue': '女',
   'formula': '包含',
   'integral': 0,
   'integralIfMissing': 0,
   'resultIfMissing': '10'}],
 'id': 'Sushifaker',
 'infoList': [{'info_formula': '<=', 'info_integral': 5, 'info_result': '30'}],
 'name': 'Submit2018-11-27-19-18-30',
 'ratio': None,
 'ratioMaxCount': None,
 'type': '10',
 'typeResultStatus': '10'}

我在上传时发现这个数据是URL编码的。所以我用python对数据进行编码

data = json.dumps(data, ensure_ascii=False)
rs = requests.post(url, data=data)

rs中的响应失败。我不能发布数据。但我发现在Fiddler中找到的正确数据是

name=Submit2018-11-27-19-18-30&id=999&ratio=&ratioMaxCount=&configList=%5B%7B%22ctable%22%3A%22arc_mxdata_operator%22%2C%22ccolumn%22%3A%22gender%22%2C%22formula%22%3A%22%E5%8C%85%E5%90%AB%22%2C%22cvalue%22%3A%22%E7%94%B7%22%2C%22integral%22%3A1%2C%22integralIfMissing%22%3A0%7D%2C%7B%22ctable%22%3A%22arc_mxdata_operator%22%2C%22ccolumn%22%3A%22gender%22%2C%22formula%22%3A%22%E5%8C%85%E5%90%AB%22%2C%22cvalue%22%3A%22%E5%A5%B3%22%2C%22integral%22%3A0%2C%22integralIfMissing%22%3A0%7D%5D&infoList=%5B%7B%22info_formula%22%3A%22%3C%3D%22%2C%22info_integral%22%3A5%2C%22info_result%22%3A%2230%22%7D%5D&type=10&typeResultStatus=10&ruleType=0  

两个数据之间的区别是ratio=&ratioMaxCount=,它看起来像url中的参数。我不知道为什么和如何得到一个正确的数据发布。你知道吗

更新: 从urllib读取doc之后,检查两个输出之间的差异。我误用了quoteurlencode。你知道吗


Tags: 数据infodatagenderoperatorratioformulaarc