Android:openConnection()抛出IOExeption(无法找到协议的默认处理程序:http)

时间:2013-07-05 09:39:14

标签: java android jcifs

我有一个使用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”添加到命令行来完成的......

     

see full article

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

1 个答案:

答案 0 :(得分:0)

尝试添加:

jcifs.Config.registerSmbURLHandler();
在创建连接之前

。这将在您的项目中安装jcifs包。