访问 OKHttp 响应正文

2024-01-22

所以我需要弄清楚如何在第二个响应中访问我从第一个响应中获得的值。我认为我可以将其存储到一个变量中并在另一个请求中访问它。然而,情况似乎并非如此。

这是给我带来问题的一点。因此,我的第一个请求是获取一个令牌,然后我需要在第二个请求中使用存储在 commatoken 中的令牌。

private final OkHttpClient client = new OkHttpClient();

    public void run() throws Exception {
        Request request = new Request.Builder()
                .url(API_URL + authPreferences.getToken())
                .build();

        client.newCall(request).enqueue(new Callback() {
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }


            public void onResponse(Call call, Response response) throws IOException {
                if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

                Headers responseHeaders = response.headers();
                for (int i = 0, size = responseHeaders.size(); i < size; i++) {
                    System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
                }

                System.out.println(response.body().string());
                String commatoken = response.body().string();
            }
        });

        Request dataRequest = new Request.Builder()
                .header("Authorization", "jwt"+commatoken)
                .url(ChffrMe_URL).build();

        client.newCall(dataRequest).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

                Headers responseHeaders = response.headers();
                for (int i = 0, size = responseHeaders.size(); i < size; i++) {
                    System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
                }

                System.out.println(response.body().string());

            }
        });
    }

我想我们可以打电话response.body().string()仅一次......因此首先将该数据保存到字符串变量中......并在需要时访问它。

String response_data;
..............
response_data = response.body().string();

你正在呼唤响应.body().string()两次...

更多信息https://stackoverflow.com/a/27922818/3552066 https://stackoverflow.com/a/27922818/3552066

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问 OKHttp 响应正文 的相关文章

随机推荐

  • RETEasy 客户端 + NoSuchMethodError

    我正在尝试编写简单的 RESTEasy 客户端 下面给出的是示例代码 Client client ClientBuilder newBuilder build WebTarget target client target http loca
  • 内联内容可编辑标签无法在 IE 中正确对齐

    我遇到的情况是 我有内联 contenteditable span 标签以及其他非 contenteditable 标签 这些标签在除 IE 之外的所有浏览器中都可以正常工作 在 IE 中 标签无法充当内联标签 并开始强制将自身对齐为块 某
  • 为库模块添加 rspec 测试似乎没有拾取期望和匹配器

    我正在向我的应用程序添加更多 rspec 测试 并希望测试位于 lib scoring methods rb 中的 ScoringMethods 模块 所以我添加了一个 spec lib 目录并在那里添加了 rating methods s
  • 从 Collection 更改为 SortedSet

    我正在将 Collection 更改为 SortedSet 因为我需要它始终保持与创建它们时一致的顺序 我已将模型属性从 OneToMany cascade CascadeType ALL mappedBy contentId privat
  • 如何使用 MailChimp API 发送电子邮件

    我正在 nodejs 中创建一个应用程序来使用 MailChimp 发送电子邮件 我尝试过使用https apidocs mailchimp com sts 1 0 sendemail func php https apidocs mail
  • 在 javascript/jQuery 中将字符串转换为数字

    一直在尝试将以下内容转换为数字
  • 将 dataReader 转换为字典

    我尝试使用 LINQ 将一行转换为字典 fieldName gt fieldValue return Enumerable Range 0 reader FieldCount ToDictionary
  • React 原生性能问题

    我使用 coincap api 首先获取大约 1500 多种加密货币的数据 然后使用 Web socket 来更新加密货币的更新值 我在这里使用 redux 来管理我的状态 在我里面componentDidMount 我正在打电话还原动作
  • QTableView排序信号?

    I use QTableView QStandardItemModel显示一些数据 存储在其他数据结构中的数据 这个表视图是sortable 由于它是可排序的 因此在对该模型进行排序时 我还需要对存储数据的顺序进行排序 我尝试为排序信号实现
  • 将数据上传到数据库时出现问题

    我在将数据发送到数据库时遇到问题 问题是每次我刷新页面时它都会自动发送以前的数据 任何人都可以帮忙吗 if isset POST Posts if isset POST t isset POST i isset POST P title P
  • Bootstrap 3 网格可以扩展吗?

    我正在开发一个项目 我们将保留 Bootstrap less 文件不变 我们也不想在 HTML 中使用 Bootstrap 类 因为我们将来可能不会使用它 我正在尝试使用 扩展 功能将我们的类名与样式表中的 BS 版本分组 除了网格列之外
  • 如何在 Laravel 中将模型事件与查询生成器一起使用

    我在模型的静态函数启动方法中使用诸如 static saving static saved 等模型事件 当用户保存新帖子时效果很好 但是当我执行以下操作时 post where id post id gt update array publ
  • 在纯 CSS 中将子级的宽度设置为父级的高度

    我可以设置width of a child div等于它的parent div height在纯CSS中 JsFiddle 演示 http jsfiddle net evk9a9ma 到目前为止 我一直在 jQuery 中做 child d
  • Z3Py 中最大值的模型不正确

    我想找到一个表达式的最大间隔e对于所有 x 都成立 编写这样的公式的方法应该是 Exists d ForAll x in d d e and ForAll x not in d d e 为了得到这样一个d 公式f在 Z3 中 看上面的 可能
  • 使用maven archetype创建新项目如何指定自定义文件夹名称

    我现在正在尝试创建一个 Maven 原型 它使用spring mybatis框架 有一个mybatis xml文件 src main resources archetype resources src main resources sql
  • 如何以编程方式设置layout_weight?

    免责声明 据我所知这个问题到目前为止 XAMARIN ANDROID 还没有答案 已经回答过多次了安卓 Java https stackoverflow com questions 4641072 how to set layout wei
  • 时间校正 Verlet 积分和太大的时间步长

    我使用在这里找到的时间校正 Verlet 集成 http www gamedev net page resources technical math and physicals a simple time Corrected verlet
  • 在 Git 中,长哈希和短哈希有什么区别?

    这是长 Git 哈希值 提交 c26cf8af130955c5c67cfea96f9532680b963628 合并 8654907 37c2a4f 作者 尼古拉斯 日期 2017 年 4 月 26 日星期三 13 28 22 0400 这
  • 在 Django 中将 numpy 数组显示为图像

    我是 Django 框架的新手 我正在构建一个网站 该网站从用户那里获取图像 然后处理图像并返回到 numpy 数组 处理后的图像 我想将 numpy 数组显示为图像 我怎样才能做到这一点 感谢您的阅读并提供帮助 索引 html
  • 访问 OKHttp 响应正文

    所以我需要弄清楚如何在第二个响应中访问我从第一个响应中获得的值 我认为我可以将其存储到一个变量中并在另一个请求中访问它 然而 情况似乎并非如此 这是给我带来问题的一点 因此 我的第一个请求是获取一个令牌 然后我需要在第二个请求中使用存储在