使用Curl/Wget自动从sharepoint下载文件/文件夹
我一直在尝试使用Curl和wget从Sharepoint下载文件。我计划把它作为每天自动运行的脚本,并从URL下载文件 我尝试用下面的命令使用CURL使用Curl/Wget自动从sharepoint下载文件/文件夹,sharepoint,curl,ssl,download,wget,Sharepoint,Curl,Ssl,Download,Wget,我一直在尝试使用Curl和wget从Sharepoint下载文件。我计划把它作为每天自动运行的脚本,并从URL下载文件 我尝试用下面的命令使用CURL curl -O --user Myusername:Mypassword https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default 但它给了我关于SSL连接的错误。我知道curl7.35中存在一些bug,所以我把它降到了7.22。但还是给
curl -O --user Myusername:Mypassword https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
但它给了我关于SSL连接的错误。我知道curl7.35中存在一些bug,所以我把它降到了7.22。但还是给了我同样的错误 我还尝试使用Wget
wget --user=Myusername --password=MyPassword --no-check-certificate https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
但它仍然给了我错误——无法建立SSL连接
有人能告诉我怎样才能完成任务吗
更新
我能够解决CURL中的错误。下面是我发出的命令
curl -O -L --sslv3 -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13" --user Myusername:Mypassword 'https://OurDomain.sharepoint.com/_%7BB21r-9CA2-345DEF%7D&file=IPS_cleaned.xlsx&action=default'
现在它下载的是一个文件,当我打开它时,它会显示Sharepoint的登录页面。它不会下载实际的excel文件
有什么原因吗?我自己也在努力解决同样的问题,而且我的方式不是那么自动,而是很方便,每天都要登录
wget --cookies=on --load-cookies cookies.txt --keep-session-cookies --no-check-certificate -m https://yoursharepoint.com
文件下载得很好 与Zylug给出的答案类似,使用cURL: 您可以使用cookies.txt浏览器扩展名导出登录cookie: 然后使用以下代码:
curl -b cookie.txt https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
在某个时刻,您的Sharepoint会话将过期(不确定需要多长时间),您将需要一个新的cookie文件
编辑:如果恶意用户获取了您的cookie.txt,他们可能会进入您的SharePoint帐户,因此请确保其安全。捕获会话ID等链接的Firefox插件。。它还提供了一个可以粘贴到控制台中的curl或wget命令 如果有人有更好的建议,请告诉我 它为您提供了一个curl或wget命令,其中包含标题、cookies和所有内容,并在下载对话框的右侧提供了一个“复制到剪贴板”按钮 下载网址: 参考资料:请使用rclone 从下载并安装最新版本 第一个选项:使用OneDrive访问SharePoint网站/个人文件夹。此选项将帮助您上载大型文件 1.使用
rclone config
命令创建rclone配置
2.选择“新建远程”并给出名称
3.选择云存储OneDrive
4.将客户ID和机密保留为空
5.编辑高级配置:n
6.远程配置:使用自动配置:y
7.在浏览器上打开URL并访问rclone
8.选择个人/共享站点URL选项
8a.共享站点URL选项您必须提供站点URL。ie
9.选择个人/文件驱动器。如果您在第8步中选择了共享站点URL选项,文档驱动器将显示
[onedrive]
type = onedrive
token =
drive_id =
drive_type = documentLibrary
第二个选项:在此选项中,最多可以上载2 GB大小的文件
1.使用rclone config
命令创建rclone配置
2.选择“新建远程”并给出名称
3.选择云存储WebDAV
4.提供网站URL、用户名和密码
5.保存并退出
配置文件的内容如下所示。密码将采用加密格式
vim/root/.config/rclone/rclone.conf
[sharepoint]
type = webdav
url = https://sharepoint.com/sites/SiteName/Documents
vendor = sharepoint
user =
pass =
从SharePoint下载文件
rclone copy--忽略时间--忽略大小--verbose sharepoint:SourceFolder/file.txt DestFolder
另一个可能的解决方案是获取sharepoint链接并将“?”后面的文本替换为download=1:
这:
变成这样:
现在,您可以:
wget https://my.sharepoint.com/:u:/g/XXX/XXXX-bunchofRandomText?download=1
*注意,本例使用了一个文件和一个链接,任何具有该链接的人都可以访问该文件(无需凭据)在链接末尾使用wget adding&download=1 wget“[yourlink]&下载=1”
它将以[yourlink]字符串作为名称下载,然后在后面加上正确的名称。供使用CURL在Sharepoint上下载文件的任何人使用“有链接的任何人”下载选项。以下是我下载时必须遵循的步骤。基本上,您必须使用共享链接中的cookie,然后从其他下载链接下载文件,而这些下载链接并不容易为您提供 当为“共享链接”发送CURL命令时,它返回302消息、前向链接和cookie。如果我们保存cookie并使用它点击“下载”链接,我就能下载文件。基本上,微软使用最初的“共享链接”将cookie发送到浏览器,然后重定向到他们的“查看文件”网站。在该网站上,您需要使用提供的cookie(身份验证),并选择下一个功能(屏幕查看、打印、下载等)。当你点击下载按钮时,你点击了一个不同的链接。我可以通过访问“查看页面”网站上的文件/链接,打开开发人员工具,并在点击下载时观看浏览器跟随的链接来找到此链接。然后可以为每个文件复制该链接。如果我们将该下载链接与cookie一起使用,我们就可以下载该文件 curl-i-c cookies.txt共享链接 curl-o docsdownload.pdf-b cookies.txt下载链接 共享链接例如:
下载链接Ex:“但它给了我有关SSL连接的错误”-您需要做得更好。返回的实际错误是什么?运行
echo“get/HTTP/1.1”| openssl s_client-connect:
,您会得到什么?@jww-我能够解决该错误。但被困在其他地方。问题更新这是使用终端从SharePoint或其他任何地方下载文件的最简单方法。谢谢你,伙计!谢谢你。需要注意的是,在int