Python 正文中缺少数据
Python missing data in body
您好,我正在使用 request
执行一些 http 调用。这是一种奇怪的行为,响应应包含项目列表,但我只得到一个项目。
这是我在执行调用时从 Postman 得到的结果:
{
"results": [
{
"code": "sample_code",
"amount": "90.00",
"is_available": true,
},
{
"code": "sample_code1",
"amount": "30.00",
"is_available": false,
},
{
"code": "sample_code2",
"amount": "333.00",
"is_available": true,
}]
}
这是我在脚本中得到的响应:
{
"results": [
{
"code": "sample_code2",
"amount": "333.00",
"is_available": true,
}]
}
我是这样执行操作的:
for product in sorted(products):
jsonObject = requests.post(endpoint,json=payload, verify=False).json
print(jsonObject)
好像returns只是最后一个元素。我不知道为什么。
编辑添加请求:
{
"locale": "en-GB",
"products": [
{
"categories": [
"T-Shirt"
]
}
],
"basketTotal": {
"amount": "42",
"currency": "EUR"
},
"requestDateTime": "2021-04-16T10:53:45.770Z",
"stock": {
"isReplen": false
}
}
我找到了问题,然后找到了解决方案。深入阅读 https://docs.python-requests.org/en/latest/user/quickstart/#make-a-request,而不是给出 JSON 对象,我可以发送编码 JSON 的字符串 payload。
所以我现在的代码是:
requests.post(url,headers=header, data=payload, verify=False)
和 return 项目列表正确,我添加了一个 header : 'Content-Type': 'application/json; charset=Latin-1
因为我稍后需要它。
您好,我正在使用 request
执行一些 http 调用。这是一种奇怪的行为,响应应包含项目列表,但我只得到一个项目。
这是我在执行调用时从 Postman 得到的结果:
{
"results": [
{
"code": "sample_code",
"amount": "90.00",
"is_available": true,
},
{
"code": "sample_code1",
"amount": "30.00",
"is_available": false,
},
{
"code": "sample_code2",
"amount": "333.00",
"is_available": true,
}]
}
这是我在脚本中得到的响应:
{
"results": [
{
"code": "sample_code2",
"amount": "333.00",
"is_available": true,
}]
}
我是这样执行操作的:
for product in sorted(products):
jsonObject = requests.post(endpoint,json=payload, verify=False).json
print(jsonObject)
好像returns只是最后一个元素。我不知道为什么。
编辑添加请求:
{
"locale": "en-GB",
"products": [
{
"categories": [
"T-Shirt"
]
}
],
"basketTotal": {
"amount": "42",
"currency": "EUR"
},
"requestDateTime": "2021-04-16T10:53:45.770Z",
"stock": {
"isReplen": false
}
}
我找到了问题,然后找到了解决方案。深入阅读 https://docs.python-requests.org/en/latest/user/quickstart/#make-a-request,而不是给出 JSON 对象,我可以发送编码 JSON 的字符串 payload。 所以我现在的代码是:
requests.post(url,headers=header, data=payload, verify=False)
和 return 项目列表正确,我添加了一个 header : 'Content-Type': 'application/json; charset=Latin-1
因为我稍后需要它。