我正在使用改造来反序列化来自 Web 服务器的 json 请求,我需要在我的应用程序中创建一个会话(cookie?)(它应该在 120 分钟内到期)。问题是我不知道如何实现它。
private RestAdapter adapter = RestAdapter.Builder().setClient(????).setServer("http://192.168.0.1").build();
只有在应用程序正在运行时,此会话才应该持续存在。
最低 SDK 要求为 8
好的,你知道改造实际上使用了框架内的 okhttp。
你应该知道“拦截器”
当你在改造中初始化一个 okhttp 时,你应该调用 addInterceptor,就像这样:
OkHttpClient.Builder builder = new OkHttpClient.Builder();
builder.retryOnConnectionFailure(true);
builder.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.writeTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.readTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
builder.addInterceptor(new ZCommonIntercepter());
自定义您自己的拦截器扩展拦截器。
并通过 response.header("Set-cookie") 获取 sessionId 将其保存为常量或内存中的其他内容。
在此之后的每个请求都应该删除原始标头(“cookie”)
和 addHeader (你已经保存的东西)
对不起,我不是以英语为母语的人。如果你不能理解我。我只是给你一些关键字,你可以谷歌它。
---关键词---
okhttp 中的拦截器
请求标头或响应标头中的 cookie