我以前从未使用过WebDav,但最近我的客户要求我上传一些文件到他的服务器。这个过程应该是自动化的,所以我决定使用python来完成
我的客户以以下格式向我提供了有关服务器的信息:
Server location: \123.456.789.012\Something
Username: user
Password: pass
Domain: somedomain
我尝试使用easywebdav
框架来完成这项工作,但是我得到了以下结果:
代码:
webdav = easywebdav.connect(
host='123.456.789.012/Something',
username='user',
port=80,
protocol="http",
password='pass'
)
print(webdav.ls())
唯一的例外是
Operation : PROPFIND .
Expected code : 207 Multi-Status, 301 Moved Permanently
Actual code : 401 Unauthorized
我可能无法正确理解所有的事情,因为我已经尝试了多个框架,它们都以相同的方式失败,但是我已经通过macosxwebdav客户端内置的Finder成功地连接到服务器,因此它确实能正常工作。在
我很抱歉的格式的问题,可能缺乏细节,我目前是绝望的几个小时后,试图解决这个问题。请随时在评论中提出任何问题!在
找到了解决我问题的方法。在使用Wireshark了解了我的OS X(WebdavFS)连接方式之后,我发现服务器是microsoftis7.5,需要NTLM Auth而不是Basic Auth。没有找到任何支持NTLM AuthPython的Python库,因为应用程序相对较小,所以我使用neon library将其转入C++。在
相关问题 更多 >
编程相关推荐