通过 Java 的 WebDAV 身份验证

WebDAV authentication through Java

我制作了一个程序,可以将文件从 phone 复制到 windows 文件夹。通过 WebDAV 服务器连接到 phone。问题是我无法通过 Java 连接到 phone,直到我为 ex 打开。 htpp://192.168.1.40:8080 在我的 windows 资源管理器中。之后 phone 在 Java 中可见。但这破坏了我程序的所有意义。

有人知道如何首先通过 Java 访问 phone 吗?我需要更改注册表中的某些内容吗?

非常感谢!

P.S。复制过程:

File src = new File("\\" + address + "\DavWWWRoot\DCIM\Camera");

地址为“192.168.x.xx:8080”

然后转到Files.walkFileTree复制所有文件。

如果您不想依赖 OS,则必须使用 WebDAV 客户端。我建议使用 Apache 虚拟文件系统 (VFS)。它在不同类型的文件系统上提供了一个附加层,并且似乎还支持 WebDAV。

https://commons.apache.org/proper/commons-vfs/index.html

嗯..我做了一些不同但最简单的方法来解决我的问题。

整个问题都在这个该死的 Windows OS 中。默认情况下,它具有按需提供的 WebClient 服务。我将其切换为自动,现在我可以在重启后连接到 phone(或任何其他 WebDAV 服务器)。

切换到自动 WebClient 服务的 CMD 代码:

sc config webclient start=auto

运行 作为管理员。

P.S。但我不得不承认,我从 WebDAV 服务器复制文件的方式 (walkFileTree) 可能远非最佳。