【问题标题】:Android Retrofit session - cookiesAndroid 改造会话 - cookie
【发布时间】:2013-10-26 06:33:29
【问题描述】:

我正在使用改造来反序列化来自网络服务器的 json 请求,我需要在我的应用程序中创建一个会话(cookie?)(它应该在 120 分钟内到期)。问题是我不知道如何实现它。

private RestAdapter adapter = RestAdapter.Builder().setClient(????).setServer("http://192.168.0.1").build();

只有在应用程序正在运行时,此会话才会持续。

最低 SDK 要求为 8

【问题讨论】:

标签: android session cookies retrofit


【解决方案1】:

好的,你知道改造实际上使用了框架内部的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(你已经保存的东西)

对不起,我不是以英语为母语的人。如果你不能理解我。我给你一些关键词,你可以google一下。

---关键词---

  • okhttp 中的拦截器

  • 请求头或响应头中的cookies

【讨论】:

    猜你喜欢
    • 2021-10-08
    • 2012-03-14
    • 2012-01-25
    • 1970-01-01
    • 2011-04-20
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多