gpt4 book ai didi

java - 改造 - 解压 gzip

转载 作者:行者123 更新时间:2023-12-02 03:59:53 25 4
gpt4 key购买 nike

我需要为我的一个网络请求实现一种方法来解压缩 gzip,然后解码 Base 64,然后将字节转换为字符串。我正在使用改造并已实现如下所示。

我尝试使用这个答案( okhttp 3: how to decompress gzip/deflate response manually using Java/Android )自己实现它,但没有成功。

我也尝试将其留空,因为显然,okhttp 手动执行此操作,但无论我做什么,我都会得到如下所示的结果。

实现改造

                .connectTimeout(connectTimeout, TimeUnit.SECONDS)
.writeTimeout(writeTimeout, TimeUnit.MINUTES)
.readTimeout(readTimeout, TimeUnit.MINUTES)
.build();

if (User.getInstance().isDevMode()) {
retrofit = new Retrofit.Builder()
.client(client)
.baseUrl(App.getContext().getResources().getString(R.string.dev_server))
.addConverterFactory(ScalarsConverterFactory.create()).build();
}

解压缩数据并解码后的预期结果应该是一个字符串,例如“失败:糟糕的互联网”(通常更长)。

实际结果例如: ��m�]��k{�ȵ.�W��yNw�lJA᎜/G��[˶bɭN&�HED ��b����>k�­�"APm'�{�[ Q�������]W���ί������q!�����y��_���^,���'�Cz+b�dg��G?���$�y��t�T�<aI:��-�/���g6�d<e��HYr��Op<��fi�U���m��?�?,eƷ���/���_�iG�7�����y����E��ןZG/?�i]�\��>������_�.>\����_�<̋)�h�ہg�|�ķ�G�1�m~x*��,��~<Y!"}��o���e��_9Γ���f2�l�0���Wy*e__�O��){'�;��_�I���1�a�����^֥����"���0_�Xx�)�z8N�8O�Oq���~�a���o.�.7��'o�x������,g�e�Å�����H���K�՛���E��<ϗ�_��e�L��b,��D,�Ǔd�ϴ��B+�\0��_���oxF��[�i�*�R1f?�W }U�Y�pt*�$��,/�ٶ�x��d.iI^]�����Ǻ g!�_�ҤX�?/E��2��a���$?ø<-$�rO���i���p�L�y

最佳答案

我也遇到了同样的问题。

删除: 标题中的“接受编码:gzip、deflate”。

保留: “内容类型:application/json;charset=utf-8”, “接受:application/json”

当您提供自己的 Accept-Encoding header 时,您是在指示 OkHttp 您想要自己进行解压缩。通过省略它,OkHttp 将负责添加 header 和解压缩。

杰西·威尔逊 (Jesse Wilson) 在此回答:Retrofit and OkHttp gzip decode

关于java - 改造 - 解压 gzip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56739312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com