我使用asynhttpClient进行基本身份验证
http://loopj.com/android-async-http/
这是looj lib ..
下面是我的代码:
usernameRandomPassword = userName +":"+密码;
Log.d("username=",usernameRandomPassword); Log.d("url=",url); String authorization = "Basic " + Base64.encodeToString(usernameRandomPassword.getBytes("UTF-8"), Base64.NO_WRAP); httpClient.addHeader("Authorization",authorization); httpClient.addHeader("Content-type", "application/json"); httpClient.setTimeout(20000); httpClient.get( url, new AsyncHttpResponseHandler() { @Override public void onStart() { System.out.println("on satrt"); super.onStart(); } @Override public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) { System.out.println("on onSuccess statusCode="+statusCode); toastmessgae("onSuccess status code="+statusCode); super.onSuccess(statusCode, headers, responseBody); } @Override public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) { System.out.println("on onFailure="+statusCode); toastmessgae("onFailure status code="+statusCode); super.onFailure(statusCode, headers, responseBody, error); } @Override public void onFinish() { System.out.println("on onFinish"); super.onFinish(); } }); } catch (UnsupportedEncodingException e) { }
但我总是在控制台401中收到,下面是日志
验证方案ntlm不受支持.
无法应对任何这些挑战:{ntlm = WWW-Authenticate:NTLM,negotiate = WWW-Authenticate:Negotiate}
我在直接链接上检查了凭据是否正确.
我已经花了一整天的时间,任何人都可以帮助我吗?如果你分享一些例子,那将非常有帮助.
提前致谢..