2017-06-14 56 views
2

以下链接:https://b2drop.eudat.eu/s/DfQlm5J42nEGnH7保存文件和文件夹(可公开访问)。请注意,不需要用户名和密码。如何使用curl将文件上传到共享b2drop.eudat(owncloud)存储库?

我可以通过下载的zip文件:

wget https://b2drop.eudat.eu/s/DfQlm5J42nEGnH7/download 

这将生成一个下载文件。我可以通过以下方式将其解压缩:unzip download

在网站的GUI上,当我点击加号和upload时,它会打开一个部分,我可以选择要下载哪些文件。我想通过控制台完成所有这些操作。

enter image description here enter image description here

[Q]从它的GUI我也可以上传文件。是否可以使用curlwget使用控制台上传文件?

以下命令没有帮助。

curl --upload-file run.sh https://b2drop.eudat.eu/s/DfQlm5J42nEGnH7/ 

我也尝试从以下链接:https://github.com/owncloud/pyocclient,但它也没有帮助。

oc = owncloud.Client('https://b2drop.eudat.eu/') 
oc.login('[email protected]', password); 
oc.put_file("https:/b2drop.eudat.eu/s/DfQlm5J42nEGnH7", "path/to/upload/run.sh") 
oc.put_file("/s/DfQlm5J42nEGnH7", "path/to/upload/run.sh") 
oc.put_file("/DfQlm5J42nEGnH7", "path/to/upload/run.sh") 

谢谢你宝贵的时间和帮助。

回答

1

从网络日志的分析,这是一个PUT请求https://b2drop.eudat.eu/public.php/webdav/<filename>text/plain内容类型与没有密码和用户名DfQlm5J42nEGnH7一个基本的认证。

下面将上传本地文件run.sh

curl -X PUT -H 'Content-Type: text/plain' \ 
    -H 'Authorization: Basic RGZRbG01SjQybkVHbkg3Og==' \ 
    --data-binary '@run.sh' \ 
    https://b2drop.eudat.eu/public.php/webdav/run.sh 

注意基本身份验证base64编码字符串给DfQlm5J42nEGnH7:解码(用户名:密码)

原始网络日志:

enter image description here

+0

谢谢。有效!如果我有一个要上传的文件夹(可能包含一些子文件夹),而不是只有'run.sh'或'.tar'文件。有没有简单的方法来上传他们呢? @Bertrand Martel – Alper

+0

你是怎么找到'RGZRbG01SjQybkVHbkg3Og =='的?例如,对于这个新的链接:'https:// b2drop.eudat.eu/s/30lETRKHDL8Lpr0'?我尝试在这个网站(http://www.utilities-online.info/base64/)上编码'DfQlm5J42nEGnH7',但它提供了不同的输出,即'RGZRbG01SjQybkVHbkg3'。我想我们必须把每个编码字符串的'Og =='结尾。 – Alper

+1

这种情况下的基本身份验证使用'username:password'方案。在你的情况下'301ETRKHDL8Lpr0'是用户名,所以在base64中编码'301ETRKHDL8Lpr0:'(介意':'),密码是空白的 –

相关问题