Cookies 机器人世界的饼干

Cookies 机器人世界的饼干,cookies,robospice,Cookies,Robospice,我想在Robospice中使用cookies,我有香料服务: public class JsonSpiceService extends SpringAndroidSpiceService { public RestTemplate createRestTemplate() { RestTemplate restTemplate = new RestTemplate(); MappingJacksonHttpMessageConverter js

我想在Robospice中使用cookies,我有香料服务:

    public class JsonSpiceService extends SpringAndroidSpiceService {

    public RestTemplate createRestTemplate() {
        RestTemplate restTemplate = new RestTemplate();
        MappingJacksonHttpMessageConverter jsonConverter = new MappingJacksonHttpMessageConverter();
        FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
        StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
        final List<HttpMessageConverter<?>> listHttpMessageConverters = restTemplate.getMessageConverters();
        HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
        restTemplate.setRequestFactory( httpRequestFactory );
        listHttpMessageConverters.add(jsonConverter);
        listHttpMessageConverters.add(formHttpMessageConverter);
        listHttpMessageConverters.add(stringHttpMessageConverter);
        restTemplate.setMessageConverters(listHttpMessageConverters);
        return restTemplate;
    }

    public CacheManager createCacheManager(Application application) throws CacheCreationException {
        CacheManager cacheManager = new CacheManager();

        List< Class< ? >> classCollection = new ArrayList< Class< ? >>();
        classCollection.add(User.class);
        JacksonObjectPersisterFactory jacksonObjectPersisterFactory = new JacksonObjectPersisterFactory(application);
        cacheManager.addPersister(jacksonObjectPersisterFactory);

        return cacheManager;
    }
}
在“邮递员”中,Cookie如下所示:

仅用于管理应用程序的
WebView
s中的cookie

您可以使用
responseEntity.getHeaders().get(COOKIE)
。您还可以尝试使用
SET_COOKIE
SET_COOKIE2
键代替
COOKIE
,具体取决于服务器的响应

public class Request extends SpringAndroidSpiceRequest<HttpModel> {
private Context context;
private HttpMethod httpMethod;
private MultiValueMap<String, String> body;
private String link;
private String what;
private Object object;

public Request(Context context, HttpMethod httpMethod, MultiValueMap<String, String> body, String link, String what, Object object) {
    super(HttpModel.class);
    this.context = context;
    this.httpMethod = httpMethod;
    this.body = body;
    this.link = link;
    this.what = what;
    this.object = object;
}

@Override
public HttpModel loadDataFromNetwork() throws Exception {
    HttpModel httpModel;
    HttpHeaders headers = new HttpHeaders();
    HttpEntity<?> requestEntity;
    if (!what.equals(LOGIN)) {
        headers.setContentType(MediaType.APPLICATION_JSON);
    } else {
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    }
    requestEntity = new HttpEntity<Object>(body, headers);
    ResponseEntity<HttpModel> responseEntity = getRestTemplate().exchange(link, httpMethod, requestEntity, HttpModel.class);
    httpModel = responseEntity.getBody();

    return httpModel;
}
    final CookieManager cookieManager = new CookieManager();
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookieManager);