NTLM認証を必要とするIIS Webサイトに接続するJavaクラスを作成しました。 Javaクラスは、JCIFSライブラリを使用し、次の例に基づいています。JCIFS NTLM GlassFish(またはサーブレットコンテナ)上のHTTP接続の認証
Config.registerSmbURLHandler();
Config.setProperty("jcifs.smb.client.domain", domain);
Config.setProperty("jcifs.smb.client.username", user);
Config.setProperty("jcifs.smb.client.password", password);
URL url = new URL(location);
BufferedReader reader = new BufferedReader(
new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
の例では、できるだけ早く私は、特にサーブレットコンテナ(で同じコードを使用しようとして、コマンドプロンプトから実行すると正常に動作しますが、 GlassFish)、私はIOException
に "Server returned HTTP response code:401 for URL:...."というメッセージを含んでいます。
私はjcifs jarをシステムクラスパス(%GLASSFISH%/ lib)に移動しようとしましたが、それは違いはありません。
提案が高く評価されます。
あなたはfuc *** ngの天才です。私の日を救った。わたしは、あなたを愛しています。 –
スレッドセーフではありません--- Authenticator.setDefault()は_global_ authenticatorオブジェクトを設定します... –