好的,我做的第一件事就是導入JCIFS庫。它是您從該鏈接下載的一個jar文件。
我需要做的下一件事是將JCIFSEngine類和NTLMSchemeFactory類導入到您的項目中。
於是最後這個方法建立你了HTTPClient:
//I know it is deprecated but there is no other way to implement NTLM thus far.
private static DefaultHttpClient setupHttpClient (String username, String password) {
DefaultHttpClient httpclient = new DefaultHttpClient();
// register ntlm auth scheme
httpclient.getAuthSchemes().register("ntlm", new NTLMSchemeFactory());
httpclient.getCredentialsProvider().setCredentials(
// Limit the credentials only to the specified domain and port
new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT),
// Specify credentials, most of the time only user/pass is needed
new NTCredentials(username, password, "", "")
);
return httpclient;
}
我的連接與改造完成,所以我只是將這個附加了HTTPClient使用以下行來改造:
retrofitAdapterBuilder.setClient(new ApacheClient(setupHttpClient(username, password)));
因此,這個工作對我來說甚至遠不止 - 儘管Android對此沒有本地支持是非常糟糕的。
IMO,你可以閱讀[我的答案在這裏](http://stackoverflow.com/questions/31466653/how-to-use-security-authentication-authorization-in-as-web-api/31471027#31471027) – BNK
查看JCIFS jar。用它來啓動和運行我們的NTLM。如果你需要幫助,我會發布我是如何在這裏做到的! – Smashing
@Smashing我見過JCIFS幾次,但據我所知只與DefaultHttpHandler。我會更多地考慮一下,但是如果你能夠提供一個關於如何使用HttpURLConnection的例子,那會很棒。 –