我遇到了来自Alfresco的身份验证错误问题,也许有人可以在我试图从Alfresco的混乱中查找日志文件时告诉我
curl -uadmin:password -X POST https://hostname/alfresco/api/-default-/public/alfresco/versions/1/nodes/node_uuid/children -F filedata=@/home/user/file.pdf
现在,当我尝试使用python请求(TM)时,它给了我一个401。我检查了请求,它们都发送相同的身份验证哈希
这是python代码:
def handle_row_for_request(row):
url = 'https://' + hostname + '/alfresco/api/-default-/public/alfresco/versions/1/nodes/' + base_uuid + '/children'
data = '/home/user/file.pdf'
with open(data, 'rb') as payload:
headers={"content-type": "multipart/form-data"}
response = requests.post(url, headers=headers, data=payload, auth=(username, password))
这个问题有两个部分。首先,我需要使用file参数而不是data。除此之外,Alfresto希望在文件参数中获取“filedata”字符串
其次,auth(user,pw)生成了一个散列,最后有一个=符号,alfresco表示401。当我使用cURL并从那里得到密码散列时,它最后有两个=符号。奇怪吧?但这起了作用。我没有使用auth(user,pw),而是将'Authorization':'Basic${base64thing}'设置为身份验证
您正在使用} argument :
data
参数,但需要使用^{下面是Python代码,对于同样使用基本auth的上传,它可以很好地工作。请检查请求参数
相关问题 更多 >
编程相关推荐