gpt4 book ai didi

windows - Windows 资源管理器不接受我的 WEBDAV PROPFIND 响应

转载 作者:可可西里 更新时间:2023-11-01 11:18:27 25 4
gpt4 key购买 nike

我正在实现 WebDAV 服务器,但在使用建议的客户端(Windows 7 资源管理器)时遇到了问题。在 Windows 中,我浏览到\server\public\container,我的服务器希望将其显示为包含两个文件的文件夹,因此我收到以下请求:

PROPFIND /public/container HTTP/1.1
Connection: Keep-Alive
User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601
Depth: 1
translate: f
Content-Length: 0
Host: devsys:4511

我的回复是:

HTTP/1.1 207 Multi-Status
Server: MyServer 2.12
Date: Mon, 08 Sep 14 17:57:50 -0000
Host: server.somewhere.com
Content-Type: text/xml; charset="utf-8"
Content-Length: 2901

<d:multistatus xmlns:d="DAV:">
<d:response>
<d:href>/public/container</d:href>
<d:propstat>
<d:prop>
<d:creationdate>2014-09-05T19:00:00Z</d:creationdate>
<d:displayname>container</d:displayname>
<d:resourcetype>
<d:collection/>
</d:resourcetype>
<d:supportedlock>
<d:lockentry>
<d:lockscope>
<d:exclusive/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
<d:lockentry>
<d:lockscope>
<d:shared/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
</d:supportedlock>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/public/container/myFile1</d:href>
<d:propstat>
<d:prop>
<d:getcontenttype>text/plain</d:getcontenttype>
<d:getcontentlength>375</d:getcontentlength>
<d:getetag>"1410198520"</d:getetag>
<d:creationdate>2014-09-05T19:00:00Z</d:creationdate>
<d:displayname>myFile1</d:displayname>
<d:getlastmodified>05 Sep 2014 19:00:00 GMT</d:getlastmodified>
<d:resourcetype/>
<d:supportedlock>
<d:lockentry>
<d:lockscope>
<d:exclusive/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
<d:lockentry>
<d:lockscope>
<d:shared/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
</d:supportedlock>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
<d:response>
<d:href>/public/container/myFile2</d:href>
<d:propstat>
<d:prop>
<d:getcontenttype>text/plain</d:getcontenttype>
<d:getcontentlength>375</d:getcontentlength>
<d:getetag>"1410198523"</d:getetag>
<d:creationdate>2014-09-05T19:00:00Z</d:creationdate>
<d:displayname>myFile2</d:displayname>
<d:getlastmodified>05 Sep 2014 19:00:00 GMT</d:getlastmodified>
<d:resourcetype/>
<d:supportedlock>
<d:lockentry>
<d:lockscope>
<d:exclusive/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
<d:lockentry>
<d:lockscope>
<d:shared/>
</d:lockscope>
<d:locktype>
<d:write/>
</d:locktype>
</d:lockentry>
</d:supportedlock>
</d:prop>
<d:status>HTTP/1.1 200 OK</d:status>
</d:propstat>
</d:response>
</d:multistatus>

Windows kindly gives the error \myserver\public\container is not accessible. You might not have permission to use this network resource. Contact the administrator of the server to find out if you have access permissions. The parameter is incorrect.

它似乎没有给出它可能是什么参数以及为什么它不正确的线索。任何人都可以发现明显的错误吗?我是否错过了 Windows 需要的属性,或者我只是做错了什么?

服务器是用 C 语言编写的,所以我可以对响应进行字节级控制。

谢谢 - 罗格

最佳答案

建议:多客户端测试(比如Cyber​​duck)。

上面的 PROPFIND 响应不正确;它没有 namespace 中的“multistatus”,但它应该在“DAV:” namespace 中。

关于windows - Windows 资源管理器不接受我的 WEBDAV PROPFIND 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25730734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com