4

我有一个使用 jcifs 库的 android 应用程序。每次我尝试使用 HTTP 协议在 URL 上打开连接()时,我都会收到一个 IOExeption,并显示以下消息“无法找到协议的默认处理程序:http”。它适用于使用 FTP 协议的 URL。

经过一番挖掘,我怀疑问题出在 jcifs 库中。从 JCIFS 文档中我发现以下内容:

jCIFS NTLM 支持作为 HTTP 连接的 URLStreamHandler 实现。此处理程序“包装”您的 Java 环境提供的默认处理程序以添加对 NTLM 身份验证的支持。

将“jcifs”包添加到协议处理程序包列表中。“java.protocol.handler.pkgs”属性是一个管道分隔(“|”)的包列表,为 Java 提供协议处理程序。“jcifs”包应该添加到这个列表中;这通常可以通过在启动应用程序时将“-Djava.protocol.handler.pkgs=jcifs”添加到命令行来完成......

见全文

任何人都可以帮助解决这个问题。

4

1 回答 1

0

尝试添加这个:

jcifs.Config.registerSmbURLHandler();

在创建连接之前。这将在您的项目中安装 jcifs 包。

于 2016-04-20T18:56:49.530 回答