जहां मैं एक server.Initially सर्वर के माध्यम से उपयोगकर्ता नाम/पासवर्ड के सत्यापन हूँ Basic
प्रमाणीकरण को लागू किया गया था तो मेरे कोड ठीक काम कर रहा था, लेकिन इतना मेरे पुराने कोड काम नहीं कर रहा अब सर्वर Digest
प्रमाणीकरण करने के लिए बदल गया है मैं एक Android ऐप्लिकेशन बनाने रहा हूँ।एंड्रॉइड में डाइजेस्ट प्रमाणीकरण का उपयोग कैसे करें?
Digest
प्रमाणीकरण का उपयोग करने के लिए क्या परिवर्तन कर सकता हूँ चाहिए?
private boolean authenticateUser()
{
try
{
String url_str = "http://serverweb.com/checkauthentication.php";
HttpPost post = new HttpPost(url_str);
Log.v("AUTHENTICATION URL = ", url_str);
post.addHeader("Authorization","Basic "+getCredentials());
ResponseHandler<String> responseHandler=new BasicResponseHandler();
String response_body = client.execute(post, responseHandler);
Log.v("SERVER RESPONSE DATA = ", response_body);
XMLDataParser.parseXML(XMLDataParser.USER_INFORMATION_PARSER_CODE, response_body);
List<Cookie> cookies = client.getCookieStore().getCookies();
if (!cookies.isEmpty())
{
for (int i = 0; i < cookies.size(); i++)
{
XMLData.cookie = cookies.get(i);
}
}
return true;
}
catch (MalformedURLException mue)
{
Log.i("MalformedURLException", " "+mue.getMessage());
displayDialog("User Does Not exist");
return false;
}
catch (IOException ioe)
{
Log.i("IOException", " "+ioe.getMessage());
displayDialog("User Does Not exist");
return false;
}
catch (Exception e)
{
Log.i("Exception", " "+e.getMessage());
displayDialog("Error");
return false;
}
}
private String getCredentials()
{
String u=edit_username.getText().toString();
String p=edit_password.getText().toString();
Log.v("USER NAME = ",u);
Log.v("PASSWORD = ",p);
return(Base64.encodeBytes((u+":"+p).getBytes()));
}
अपने URL काम नहीं कर रहे –
यह URL @scorpio सच नहीं है। – AB1209