这是以下答案的后续问题:
Authorise with current user credentials for Python script accessing SharePoint list using NTLM
我正在尝试与SharePoint列表进行交互,而不会在脚本中传递或硬编码密码。
上一个答案中提供的解决方案与请求库一起成功运行,但我无法将其集成到用于与SharePoint交互的urllib2函数中。
下面的函数目前使用硬编码密码,但我更喜欢使用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()
。
还替换为完整请求字符串:requests.get(site_url, auth=HttpNtlmSspiAuth())
。也没有运气。
我也尝试过与auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
一行,但我不在自己的深度。到目前为止,审查NTLM文档还没有产生解决方案。
非常感谢您的意见和建议。