我有一个使用jcifs库的android应用程序。每次我尝试使用HTTP协议在URL上打开openConnection()时,我都会收到一条IOExeption,其中包含以下消息“无法找到协议的默认处理程序:http”。使用FTP协议的URL工作得很好。
经过一番挖掘后,我怀疑问题来自jcifs库。从JCIFS文档中我发现了以下内容:
jCIFS NTLM支持实现为HTTP连接的URLStreamHandler。此处理程序“包装”Java环境提供的默认处理程序,以添加对NTLM身份验证的支持。
将“jcifs”包添加到协议处理程序包列表中。 “java.protocol.handler.pkgs”属性是一个管道分隔(“|”)包列表,它为Java提供协议处理程序。应将“jcifs”包添加到此列表中。这通常是通过在启动应用程序时将“-Djava.protocol.handler.pkgs = jcifs”添加到命令行来完成的......
任何人都可以帮忙解决这个问题。
答案 0 :(得分:0)
尝试添加:
jcifs.Config.registerSmbURLHandler();
在创建连接之前。这将在您的项目中安装jcifs包。