使用python将文件上载到sharepoint
我正在尝试使用python脚本将文件上载到sharepoint网站。当我使用cURL进行系统调用时,它可以工作,但在使用各种python库时它不起作用。出于某种原因,我不想在我的程序中进行系统调用 我尝试使用Requests和Requests\u NTLM库。我还尝试使用urllib2库 对于请求库,它会发回一个200状态码,但当我检查sharepoint时,该文件不在那里 通过系统调用使用cURL的工作代码:使用python将文件上载到sharepoint,python,sharepoint,ntlm,Python,Sharepoint,Ntlm,我正在尝试使用python脚本将文件上载到sharepoint网站。当我使用cURL进行系统调用时,它可以工作,但在使用各种python库时它不起作用。出于某种原因,我不想在我的程序中进行系统调用 我尝试使用Requests和Requests\u NTLM库。我还尝试使用urllib2库 对于请求库,它会发回一个200状态码,但当我检查sharepoint时,该文件不在那里 通过系统调用使用cURL的工作代码: 导入操作系统 myCmd=“curl-T testcron.loghttp://my
导入操作系统
myCmd=“curl-T testcron.loghttp://mysharepoint.com/docshare/path/to/the/folder/ --ntlm-u“用户:密码”
操作系统(myCmd)
使用请求库发回状态代码200但文件未出现在sharepoint中的代码:
导入请求
从请求\u ntlm导入HttpNtlmAuth
url='1〕http://mysharepoint.com/docshare/path/to/the/folder/'
files={'file':open('testcron.log','rb')}
会话=请求。会话()
session.auth=HttpNtlmAuth('user','password')
r=session.post(url,files=files)
打印r.status\U代码
有没有办法通过请求(或其他python库)将文件上载到sharepoint文件夹
非常感谢 您是否分析了来自浏览器的真实请求?你只需要复制它,我做了很多pcap并分析了它们。如果我在请求中重用使用cURL的“put”方法,我会得到500个错误代码。奇怪的是,在curl pcap中,我可以看到在ntlm协商之后,sharepoint发送了一个代码100“继续”我从未成功地用requestsAnalyze和devTools复制的内容。。。复制为cURL似乎cURL正在使用webdav上传文件,请求没有做什么。有没有建议在请求中使用webdav?刚刚解决了这个问题(经过几天的调查…)。我必须在URL之后添加文件名,如下所示:r=session.put(URL+'output.xlsx',files=files)感谢您的帮助,今天我学到了!您是否分析了来自浏览器的真实请求?你只需要复制它,我做了很多pcap并分析了它们。如果我在请求中重用使用cURL的“put”方法,我会得到500个错误代码。奇怪的是,在curl pcap中,我可以看到在ntlm协商之后,sharepoint发送了一个代码100“继续”我从未成功地用requestsAnalyze和devTools复制的内容。。。复制为cURL似乎cURL正在使用webdav上传文件,请求没有做什么。有没有建议在请求中使用webdav?刚刚解决了这个问题(经过几天的调查…)。我必须在URL之后添加文件名,如下所示:r=session.put(URL+'output.xlsx',files=files)感谢您的帮助,今天我学到了!