Restful Android中的后身份验证和获取请求

Restful Android中的后身份验证和获取请求,android,Android,我在URL中有这个RestFull 返回 真的 如何在android的get方法中验证和获取Json记录 谢谢HttpParams httpParameters=new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters,this.CONNECT\u超时); HttpConnectionParams.setSoTimeout(httpParameters,this.CONNECT\u超时); De

我在URL中有这个RestFull

返回 真的

如何在android的get方法中验证和获取Json记录

谢谢

HttpParams httpParameters=new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters,this.CONNECT\u超时);
HttpConnectionParams.setSoTimeout(httpParameters,this.CONNECT\u超时);
DefaultHttpClient客户端=新的DefaultHttpClient(httpParameters);
//检索用户凭据。
SharedReferences设置=context.getSharedReferences(“登录”,0);
String loginNameString=settings.getString(“登录名”,null);
String passwordString=settings.getString(“密码”,null);
UsernamePasswordCredentials凭据=
新用户名PasswordCredentials(loginNameString、passwordString);
AuthScope AuthScope=new AuthScope(AuthScope.ANY\u主机、AuthScope.ANY\u端口);
client.getCredentialsProvider().setCredentials(authScope,credentials);
HttpPut=新的HttpPut(上传URL);
尝试
{
put.setEntity(新StringEntity(responseJSONArray.toString()),
服务器(首选(编码));
addHeader(“内容类型”、“应用程序/json”);
put.addHeader(“接受”、“应用程序/json”);
HttpResponse response=client.execute(put);
//200型反应。
如果(response.getStatusLine().getStatusCode()>=HttpStatus.SC\u正常&&
response.getStatusLine().getStatusCode()
您必须从身份验证响应中捕获cookie(从今天起,唯一返回的cookie是
apiCredentials
),并将其包含到您的下一个请求中


(它有一些超时,因此您需要在需要时通过再次验证来刷新它。)

Restful服务器需要POST来验证POST/Login/Autenticar?token={token},并请求一个Json记录,如GET/bus/find?findthis={……}您的代码无法工作,因为我需要使用E Post令牌进行身份验证,并使用GET请求Json对象。
POST /Login/Autenticar?token={token} 
GET /Linha/Buscar?termosBusca={termosBusca} 
RETURN
[
    {
        "CodigoLinha": 1273,
        "Circular": false,
        "Letreiro": "8000",
        "Sentido": 1,
        "Tipo": 10,
        "DenominacaoTPTS": "PCA.RAMOS DE AZEVEDO",
        "DenominacaoTSTP": "TERMINAL LAPA",
        "Informacoes": null
    },
    {
        "CodigoLinha": 34041,
        "Circular": false,
        "Letreiro": "8000",
        "Sentido": 2,
        "Tipo": 10,
        "DenominacaoTPTS": "PCA.RAMOS DE AZEVEDO",
        "DenominacaoTSTP": "TERMINAL LAPA",
        "Informacoes": null
    }
]
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, this.CONNECT_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParameters, this.CONNECT_TIMEOUT);

DefaultHttpClient client = new DefaultHttpClient(httpParameters);

// Retrieve user credentials.
SharedPreferences settings = context.getSharedPreferences("LOGIN", 0);
String loginNameString = settings.getString("login_name", null);
String passwordString = settings.getString("password", null);

UsernamePasswordCredentials credentials = 
         new UsernamePasswordCredentials(loginNameString, passwordString);

AuthScope authScope = new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT);
client.getCredentialsProvider().setCredentials(authScope,                                                                              credentials);

HttpPut put = new HttpPut(UPLOAD_URL);

try
{
    put.setEntity(new StringEntity(responseJSONArray.toString(),    
                   SERVER_PREFERRED_ENCODING));
    put.addHeader("Content-Type", "application/json");
    put.addHeader("Accept", "application/json");
    HttpResponse response = client.execute(put);

    // 200 type response.
    if (response.getStatusLine().getStatusCode() >= HttpStatus.SC_OK &&
    response.getStatusLine().getStatusCode() < HttpStatus.SC_MULTIPLE_CHOICES)
    {
      // Handle OK response etc........
    }
}
catch (Exception e)
{

}