【问题标题】:Android : openConnection() throws IOExeption ( Unable to find default handler for protocol: http )Android:openConnection() 抛出 IOExeption(无法找到协议的默认处理程序:http)
【发布时间】:2013-07-03 08:53:20
【问题描述】:

我有一个使用 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”来完成...

see full article

谁能帮忙解决这个问题。

【问题讨论】:

  • 我使用的是 Android 4.0。
  • 我也面临同样的问题。你找到解决办法了吗?
  • 你找到解决办法了吗?

标签: java android jcifs


【解决方案1】:

尝试添加这个:

jcifs.Config.registerSmbURLHandler();

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

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 2011-02-22
    • 2016-11-26
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2011-04-13
    相关资源
    最近更新 更多