我如何在Android“本机”中获取此信息

就像浏览器中的以下URL一样,我附加图像以更好地站立

我们如何在Android中使用用户名和密码身份验证从以下URL获取响应

http://eboundservices.com/hash/hash_app.php?code=com.eboundservices.pakistantv

用户名:hashapp

密码:PlayFair00

单击“登录后”后,在浏览器中显示一个字符串,如下所示。

c2VydmVyX3RpbWU9MTAvMTEvMjAxNCAyOjU2OjU3IFBNJmhhc2hfdmFsdWU9R3liN29aK2xQZW94UnhXbjZCaTVxZz09JnZhbmlklky

我想在Android“ Native”中获得此功能

最佳答案

首先,您将使用http身份验证向网站提供用户名/密码,屏幕截图中显示的神秘字符串是身份验证令牌。
通过身份验证后,您将发送用户名/密码/身份验证。服务器的http标头中的令牌。
请注意,我将字符串常量保存在一个单独的称为K的罚款中,这些常量的名称具有很强的描述性,您需要输入适当的值。

私有布尔authenticate(){

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服务一起使用。

10-07 16:02
查看更多