我如何从终端发送这个特定的curl WebDAV PROPFIND命令?



在这个站点我发现了这个curl命令:

curl -i -X PROPFIND http://example.com/webdav/ --upload-file - -H "Depth: 1" <<end
<?xml version="1.0"?>
<a:propfind xmlns:a="DAV:">
<a:prop><a:resourcetype/></a:prop>
</a:propfind>
end

我将http://example.com/webdav/更改为http://localhost/uploads,其中localhost是wamp64服务器,上传是WebDav目录。上面站点上的许多curl命令都经过了类似的测试,并且在我的本地计算机上通过CMD提示符发出时运行良好。但是,我无法使PROPFIND命令工作。直接粘贴到cmd提示符会导致请求错误。然后我试了:

curl -i - x PROPFIND http://example.com/webdav/——upload-file -- h "深度:1">

在命令行提示符中,这导致服务器响应"HTTP 1.1 100 Continue"后面跟着空行和闪烁的光标。我研究了100个Continue问题,因为它与curl有关,并且只发现了避免获得该响应的讨论和方法,但没有指示如何发送服务器期望的数据。

我假设" " "结束" a: profind xmlns:a="DAV:" " "& lt;:道具& lt; a: resourcetype/祝辞& lt;: prop>& lt;/: propfind>以何种;构成服务器正在等待的100个Continue数据,但是我如何发送它?

您使用的是windows终端吗?您尝试的命令适用于Linux/UNIX。

在Win上你可以安装Git,它也会安装bash终端,这和linux一样。

无论如何,您尝试的命令发送一个PROPFIND请求,其主体包含XML,其中包含您希望接收的属性列表。该列表只包含一个属性resourcetype,它是类似text/plain的内容类型。当然,您希望获得所有字段,如名称和大小。

你可以省略body,然后它将返回所有默认的props:

curl -v -i -X PROPFIND example.com/webdav -H "Depth: 1" 

Depth: 1头意味着只列出文件夹,而不是它的子文件夹。

这里我收集了WebDAV与curl的示例脚本和命令行

相关内容

  • 没有找到相关文章

最新更新