我使用 asynchttpClient 进行基本身份验证
http://loopj.com/android-async-http/ http://loopj.com/android-async-http/
那是 loj lib..
下面是我的代码:
用户名随机密码=用户名+“:”+密码;
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}
我在直接链接上检查过的凭据是正确的。
我已经花了一整天的时间在这上面,有人可以帮助我吗?
如果您分享一些例子,那将会非常有帮助。
提前致谢..