Python PUT Request to Confluence Webpage - ValueError: No JSON object could be decoded, but <Response [200]>
Python PUT Request to Confluence Webpage - ValueError: No JSON object could be decoded, but <Response [200]>
我正在尝试更新 confluence 网页上的一些数据。在 Postman 中一切正常(数据已更新)。但是,当我使用 python 和请求模块时,出现以下错误:
ValueError: No JSON object could be decoded
最奇怪的是我收到了 200 状态代码,但网页没有更新。该错误似乎源于输入 'r.json'.
这是我的代码(我正在尝试将网页内容更改为'Hello World'):
import requests
import json
url = <url>
data = {
"id": "18219205",
"title": "Testapi",
"type": "page",
"version": {
"number": 11
},
"body": {
"storage": {
"representation": "storage",
"value": "Hello world."
}
}
}
dumped_data = json.dumps(data)
headers = {
'content-type': "application/json",
'authorization': "Basic <token number>",
'cache-control': "no-cache",
'postman-token': "<another token>"
}
r = requests.put(url, data=dumped_data, headers=headers, verify=False)
print r.json()
发生这种情况是因为您要发帖的 API 没有响应 JSON,因此当您调用 r.json()
请求时,请求会尝试将响应正文解析为JSON 失败了。您看到 200 是因为您能够将数据正确发送到服务器,您只是试图读取错误的响应。
For example, if the response gets a 204 (No Content), or if the response contains invalid JSON, attempting r.json() raises ValueError: No JSON object could be decoded.
我正在尝试更新 confluence 网页上的一些数据。在 Postman 中一切正常(数据已更新)。但是,当我使用 python 和请求模块时,出现以下错误:
ValueError: No JSON object could be decoded
最奇怪的是我收到了 200 状态代码,但网页没有更新。该错误似乎源于输入 'r.json'.
这是我的代码(我正在尝试将网页内容更改为'Hello World'):
import requests
import json
url = <url>
data = {
"id": "18219205",
"title": "Testapi",
"type": "page",
"version": {
"number": 11
},
"body": {
"storage": {
"representation": "storage",
"value": "Hello world."
}
}
}
dumped_data = json.dumps(data)
headers = {
'content-type': "application/json",
'authorization': "Basic <token number>",
'cache-control': "no-cache",
'postman-token': "<another token>"
}
r = requests.put(url, data=dumped_data, headers=headers, verify=False)
print r.json()
发生这种情况是因为您要发帖的 API 没有响应 JSON,因此当您调用 r.json()
请求时,请求会尝试将响应正文解析为JSON 失败了。您看到 200 是因为您能够将数据正确发送到服务器,您只是试图读取错误的响应。
For example, if the response gets a 204 (No Content), or if the response contains invalid JSON, attempting r.json() raises ValueError: No JSON object could be decoded.