Nei*_*eil 6 ssl sharepoint curl wget download
我一直在尝试使用Curl和wget从Sharepoint下载文件.我打算将它作为脚本,每天自动运行并从URL下载文件.
我尝试使用CURL和以下命令
curl -O --user Myusername:Mypassword https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
Run Code Online (Sandbox Code Playgroud)
但它给了我关于SSL连接的错误.我知道CURL 7.35中存在一些现有的错误所以我把它降级到了7.22.但仍然给我同样的错误.
我也尝试过使用Wget
wget --user=Myusername --password=MyPassword --no-check-certificate https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
Run Code Online (Sandbox Code Playgroud)
但它仍然给我错误 - 无法建立SSL连接
有人可以让我知道我如何完成我的任务
UPDATE
我能够解决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'
Run Code Online (Sandbox Code Playgroud)
现在它下载的是一个文件,当我打开它时,它显示了Sharepoint的登录页面.它不下载实际的excel文件.
任何原因?
com*_*Bio 24
另一个可能的解决方案是获取您的共享点链接并替换“?”后的文本。下载=1:
这个: https: //my.sharepoint.com/ :u:/g/XXX/XXXX-bunchofRandomText?e=kRlVi
变成这样: https://my.sharepoint.com/: u:/g/XXX/XXXX-bunchofRandomText?download=1
现在,您可以:
wget https://my.sharepoint.com/:u:/g/XXX/XXXX-bunchofRandomText?download=1
Run Code Online (Sandbox Code Playgroud)
*注意,此示例使用单个文件和一个链接,任何知道该链接的人都可以访问该文件(无需凭据)
小智 9
任何人都可以使用 CURL 在 Sharepoint 上下载文件,并选择“知道链接的任何人”下载选项。以下是我下载时必须遵循的步骤。本质上,您必须使用共享链接中的 cookie,然后从他们不容易为您提供的其他下载链接下载文件。
\n当发送 \xe2\x80\x9cshare link\xe2\x80\x9d 的 CURL 命令时,它会返回 302 消息、转发链接和 cookie。如果我们保存该 cookie 并使用它来点击 \xe2\x80\x9cdownload\xe2\x80\x9d 链接,我就可以下载该文件。本质上,微软使用最初的\xe2\x80\x9cshare链接\xe2\x80\x9d将cookie发送到浏览器,然后重定向到他们的\xe2\x80\x9cView File\xe2\x80\x9d网站。在该网站上,您需要使用提供的 cookie(身份验证),并选择您的下一个功能(屏幕查看、打印、下载等)。当您单击下载按钮时,您会点击另一个链接。我可以通过访问文件/链接的“查看页面”网站、打开开发人员工具并观看浏览器在点击下载时遵循的链接来找到此链接。然后,您可以为每个文件复制该链接。如果我们将该下载链接与 cookie 一起使用,我们就可以下载该文件。
\ncurl -i -c cookies.txt分享链接
\ncurl -o docsdownloaded.pdf -b cookies.txt下载链接
\n分享链接例如:https://tenant.sharepoint.com/:b: /s/Folder/EdNUf4xAVzFJgBoO0MqkfppR5tgobxLrmCnRqU4LFJQ?e=rOGNSD
\n\n请使用 rclone
从https://rclone.org/downloads下载并安装最新版本
第一个选项:使用 OneDrive 访问 SharePoint 网站/个人文件夹。此选项将帮助您上传大文件。
1.使用rclone config命令创建rclone配置
2.选择新遥控器并命名
3.选择云存储OneDrive
4.将客户端ID和密码留空
5.编辑高级配置:n
6.远程配置:使用自动配置:y
7.在浏览器上打开URL并授予访问rclone的权限
8.选择个人/共享站点URL选项
8a.Shared site URL 选项您必须提供站点 URL。IE; https://sharepoint.com/sites/SiteName
9.选择个人/文档驱动器。如果您在第 8 步中选择了共享站点 URL 选项,则会显示文档驱动器
配置文件内容如下所示。如果您选择个人选项驱动器类型将是个人的。
[onedrive]
type = onedrive
token =
drive_id =
drive_type = documentLibrary
Run Code Online (Sandbox Code Playgroud)
第二个选项:在此选项中,您最多可以上传 2 GB 大小的文件。
1.使用rclone config命令创建rclone配置
2.选择新遥控器并命名
3.选择云存储WebDAV
4.提供网站网址、用户名和密码
5.保存退出
配置文件内容如下所示。密码将采用加密格式。
vim /root/.config/rclone/rclone.conf
[sharepoint]
type = webdav
url = https://sharepoint.com/sites/SiteName/Documents
vendor = sharepoint
user =
pass =
Run Code Online (Sandbox Code Playgroud)
从 SharePoint 下载文件。
rclone copy --ignore-times --ignore-size --verbose sharepoint:SourceFolder/file.txt DestFolder
小智 7
我自己也遇到了同样的问题,并采用了我的不那么自动但人如此方便的方式,每天登录。
运行以下命令。
wget --cookies=on --load-cookies cookies.txt --keep-session-cookies --no-check-certificate -m https://yoursharepoint.com
Run Code Online (Sandbox Code Playgroud)并且文件下载得很好。
使用会话 ID 等捕获链接的 Firefox 插件。它提供了一个命令,您可以在控制台中粘贴 curl 或 wget。
如果有人有更好的建议,请告诉我。
它为您提供带有标题、cookie 和所有内容的 curl 或 wget 命令,以及一个复制到剪贴板按钮,就在下载对话框中。
下载地址:https : //addons.mozilla.org/en-US/firefox/addon/cliget
参考:https : //superuser.com/questions/27243/how-to-find-out-the-real-download-url-on-download-sites-that-use-redirects/1239026#1239026
| 归档时间: |
|
| 查看次数: |
17084 次 |
| 最近记录: |