两个同步的HTTP请求;登录和其他一些数据

时间:2013-11-20 07:49:36

标签: android rest http-headers restful-authentication

我正在进行REST请求登录,但我不能做其他请求,因为服务器返回error 15这意味着我没有登录。我必须在每次发出任何请求时登录。 我试过这样:

public class UserLoginTask extends AsyncTask<Void, Void, Boolean> {
    @Override
    protected Boolean doInBackground(Void... params) {
        String success;
       try {
            // Building Parameters
            List<NameValuePair> params1 = new ArrayList<NameValuePair>();
            params1.add(new BasicNameValuePair("user", username));
            params1.add(new BasicNameValuePair("pass", password));
            }

            // getting user details by making HTTP request
            JSONObject json = jsonParser.makeHttpRequest(
                   LOGIN_URL, "POST", params1);
            //make second request
            JSONObject json1 = 
                    jsonParser.getFollowers(FollowersFragment.FOLLOWERS_URL);

            success = json.getString("status");
            Log.d("success tag from json::: ", success);
            if (success.equals(TAG_SUCCESS)) {
           ...
        return true;
            }else if (success.equals(TAG_MESSAGE))
                {
            ... 
            }
        } catch (JSONException e) {
            Log.d("Login Failure!", e.toString());
        }        
        return false;
    }

请求是在同一时间发出的,但我仍然知道我没有登录。如何同时发出这两个请求?

1 个答案:

答案 0 :(得分:0)

我通过创建这个变量global解决了我的问题:

public static DefaultHttpClient httpClient = new DefaultHttpClient();

我在我提出请求的方法中使用GlobalData.httpClient。 每次我想提出请求,我都使用httpClient,我不会创建一个新的。这样每次都使用相同的连接。