Я пытаюсь поместить файл в URL с включенным WebDav. код выглядит следующим образом:python 3 получение 401 using requests.put
headers = {'Authorization':'Basic', 'username': 'doc_iconx', 'password': 'doc_iconx'}
id = "SOMEID"
pw = "SOMEPW"
try:
url = 'https://mywebsite.com/Dir/'
files = {'upload_file': open(fileName, 'rb')}
r = requests.put(url,auth=HTTPDigestAuth(id,pw), files=files, headers={'User-Agent': 'Mozilla'
})
я вернусь:
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested. Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
Я знаю, ID/пароль хорошо, потому что я могу сделать, используя положить локон
Есть идеи?
Из того, что я вижу, вы, вероятно, должны использовать 'HTTPBasicAuth' вместо' HTTPDigestAuth'. Вы также упоминаете 'post', но в своем примере вы делаете' put'. – sal
Спасибо за указание моей опечатки. Я исправил описания, которые будут .put. – user3670332
Пробовал использовать HTTPBasicAuth. Теперь я получаю: Ошибка клиента 409: конфликт для URL: https://content-qa.homedepot.com/IconX/Report/ – user3670332