Это дополнительный вопрос из приведенного ниже ответа:
Я пытаюсь взаимодействовать со списком SharePoint без передачи или жесткого кодирования пароля в моем сценарии.
Решение, представленное в предыдущем ответе, успешно работает с библиотекой запросов, однако я не могу интегрировать его в функцию urllib2, которую использую для взаимодействия с SharePoint.
Приведенная ниже функция в настоящее время работает с жестко заданным паролем, но я бы предпочел использовать аутентификацию SSPI, чтобы не встраивать pw в скрипт.
def read_sharepoint_list(current_project):
username = "Domain\\user.name"
password = "my_password"
# the sharepoint info
site_url = "http://SharePoint/"
list_name = "My List"
# an opener for the NTLM authentication
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, site_url, username, password)
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
# create and install the opener
opener = urllib2.build_opener(auth_NTLM)
urllib2.install_opener(opener)
Я сосредоточил свои попытки интегрироваться на компоненте passman.addpassword()
приведенной ниже функции, но безуспешно.
Я заменил пароль HttpNtlmSspiAuth()
call. Также заменили на полную строку запроса: requests.get(site_url, auth=HttpNtlmSspiAuth())
. Не повезло ни с тем, ни с другим.
Я также пытался задействовать линию auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
, но мне не по себе. Просмотр документации NTLM до сих пор не дал решения.
Ваши мысли и предложения очень ценятся.