我如何在 Android“ native ”中获得它
在浏览器中点赞以下网址我附上图片以便更好地理解
我们如何通过用户名和密码身份验证在 Android 中从以下 URL 获取响应
http://eboundservices.com/hash/hash_app.php?code=com.eboundservices.pakistantv
用户名:hashapp
密码:PlayFair00
点击登录后在浏览器中显示这样的字符串。
我想在 Android "Native"中得到这个
最佳答案
首先,您将使用 http 身份验证向网站提供用户名/密码,屏幕截图中显示的神秘字符串是身份验证 token 。 通过身份验证后,您将发送用户名/密码/授权。到服务器的 http header 中的 token 。 请注意,我将字符串常量保存在一个单独的 fine 中,称为 K,这些常量的名称非常具有描述性,您需要引入合适的值。
私有(private) bool 认证(){
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(K.URL_AUTHENTICATE);
String strAuthToken = "";
// Request parameters and other properties.
try{
httpPost.setHeader(K.HEAD_AUTHORIZATION, K.STR_BASIC);
httpPost.setHeader(K.HEAD_USERNAME, K.STR_NAEEM);
httpPost.setHeader(K.HEAD_PASS, K.STR_SECRET);
}catch(Exception exc){
exc.printStackTrace();
return (mbIsAuthenticated = false);
}
/*
* Making HTTP Request
*/
try {
Log.i(K.LOGSERV, "Sending auth. request to server.");
HttpResponse response = httpClient.execute(httpPost);
HttpEntity respEntity = response.getEntity();
if (respEntity != null) {
String content = EntityUtils.toString(respEntity);
Log.d(K.LOGSERV, content);
JSONObject jobject = null;
JSONArray jfinalData = null;
JSONObject jrow = null;
jobject = (JSONObject) new JSONTokener(content).nextValue();
strAuthToken = jobject.getString("auth_token");
if(strAuthToken.length() > 0){
Shared.getInstance().getDB(this).updateGeneralSetting(BSRDB.SETTING_AUTH_TOKEN, strAuthToken);
mbIsAuthenticated = true;
}
}
} catch (ClientProtocolException e) {
// writing exception to log
e.printStackTrace();
mbIsAuthenticated = false;
} catch (IOException e) {
// writing exception to log
e.printStackTrace();
mbIsAuthenticated = false;
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
mbIsAuthenticated = false;
}
return mbIsAuthenticated;
上面的代码用于托管在 Amazon S2 云上的 Web 服务。
关于php - Android 如何使用身份验证用户名和密码从以下 URL 从 Web 服务器获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26316161/