如何解决我的Delphi WebDAV程序出现错误403,CarotDAV客户端也无法正常工作
我在Windows 10下有一个IIS和WebDAV。现在,我尝试了/ n Software的Delphi 10.4 Webdav组件,该组件可以通过SSL模式(https)通过WebDAV检索特定文件,效果很好。但是,当我想获取目录列表时,会收到HTTP错误403。在服务器上的日志文件中,我看到PROPFIND条目具有403错误注释。原因类似:IIS-403 err
这里有人可以解决此问题。 非常感谢。
解决方法
原因是:(/ n软件的休·赖特(Hugh Wright)回答了
此错误可能有多种原因。以前发生过类似错误的用户通过更改WebDAV组件的depth属性来修复此问题。默认情况下,WebDAV组件在调用某些方法(包括FindProperties和ListDirectory)时使用无穷深。某些服务器不支持深度无限的请求,并且在发出请求时可能会返回403错误。
Webdav1.User := 'username';
Webdav1.Password := 'password';
Webdav1.AuthScheme := authBasic;
Webdav1.Depth := dpImmediateChildren; // The server will operate on the
// collection resource URI and all of
// its immediate member resources (but
// on none of their member resources).
Webdav1.FindProperties('ResourceURI');
我能够确认问题出在深度属性上。默认情况下,CarotDAV使用1(深度子级)的深度,而我们的组件则不使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。