4

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」を追加することによって行われます...

記事全文を見る

誰でもこの問題を解決できますか。

4

1 に答える 1

0

これを追加してみてください:

jcifs.Config.registerSmbURLHandler();

接続を作成する前に。これにより、プロジェクトに jcifs パッケージがインストールされます。

于 2016-04-20T18:56:49.530 に答える