使用 python 请求更新网页返回错误响应代码 415
Updating a webpage using python requests returning error response code 415
我正在尝试通过 Python 请求模块更新 Atlassian 合流页面中已经存在的页面。我正在使用 requests.put() 方法发送 http 请求来更新我的页面。该页面已有标题“更新状态”。我试图输入一行作为页面的内容。 json 负载中的页面 ID 和其他信息是我直接从 rest/api/content... 我尝试访问的网页的输出中复制的。
注意:我已经可以通过 python requests.get 访问网页中的信息,但是我无法 post 访问网页中的信息。
用于从有效网页访问信息的方法:
response = requests.get('https://confluence.ai.com/rest/api/content/525424594?expand=body.storage',
auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai')).json()
用于将信息更新到该页面的方法不起作用,因为响应采用错误 415 的形式。
import requests
from requests.auth import HTTPBasicAuth
import json
url = "https://confluence.ai.com/rest/api/content/525424594"
payload = {"id":"525424594","type":"page", "title":"new page-Update Status","space":{"key":"TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}
result = requests.put(url, data=payload, auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai'))
print (result)
我猜测有效负载的格式不正确。有什么建议么?
注:此处显示的link、用户名和密码均为虚构。
尝试使用“json”命名参数而不是“data”发送数据,这样请求模块会将 application/json
设置为 content-type
header。
result = requests.put(url, json=payload, auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai'))
我正在尝试通过 Python 请求模块更新 Atlassian 合流页面中已经存在的页面。我正在使用 requests.put() 方法发送 http 请求来更新我的页面。该页面已有标题“更新状态”。我试图输入一行作为页面的内容。 json 负载中的页面 ID 和其他信息是我直接从 rest/api/content... 我尝试访问的网页的输出中复制的。 注意:我已经可以通过 python requests.get 访问网页中的信息,但是我无法 post 访问网页中的信息。
用于从有效网页访问信息的方法:
response = requests.get('https://confluence.ai.com/rest/api/content/525424594?expand=body.storage',
auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai')).json()
用于将信息更新到该页面的方法不起作用,因为响应采用错误 415 的形式。
import requests
from requests.auth import HTTPBasicAuth
import json
url = "https://confluence.ai.com/rest/api/content/525424594"
payload = {"id":"525424594","type":"page", "title":"new page-Update Status","space":{"key":"TST"},"body":{"storage":{"value": "<p>This is the updated text for the new page</p>","representation":"storage"}}, "version":{"number":2}}
result = requests.put(url, data=payload, auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai'))
print (result)
我猜测有效负载的格式不正确。有什么建议么? 注:此处显示的link、用户名和密码均为虚构。
尝试使用“json”命名参数而不是“data”发送数据,这样请求模块会将 application/json
设置为 content-type
header。
result = requests.put(url, json=payload, auth=HTTPBasicAuth('svc-Automation@ai.com', 'AIengineering1@ai'))