NTLMV2 HTTP認証Java
-
28-09-2019 - |
質問
私はこれがどのように機能するかについて非常に混乱しています。私はこのようなものを使ってみました:
con = (HttpURLConnection) url2.openConnection();
con.setReadTimeout(10000);
con.setInstanceFollowRedirects(true);
con.setAllowUserInteraction(true);
con.setDoOutput(true);
con.setDoInput(true);
Authenticator.setDefault(new MyAuthenticator());
con.connect();
class MyAuthenticator extends Authenticator {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("myUser", "MyPassword".toCharArray());
}
}
この方法で返された401エラーが発生しているので、明らかにポイントが欠けています。これによれば チャート NTLMV2はJRE 6でサポートする必要があります。私の混乱は、これがAndroidで実行されているという事実にあります。スローされた例外からのスタックトレース getOutputStream
Apacheの実装が表示されます HttpURLConnection
参照される。
私の研究で見つけたことから、Apacheはライセンスの問題のためにNTLMV2プロトコルを含めることができません。これがAndroidで動作しない理由ですか?
いずれにせよ、私はこれがAndroidだけでなくJavaでどのように行われるかを知りたいです。
解決
実装されていません。この問題をチェックしてください: http://code.google.com/p/android/issues/detail?id=4962. 。また、AndroidがJRE 6ではないという事実も考慮してください。これは、標準Javaの変更されたバージョンです。
所属していません StackOverflow