gpt4 book ai didi

java - 在Python中解码java对象

转载 作者:行者123 更新时间:2023-12-01 06:20:35 24 4
gpt4 key购买 nike

是否可以在Python中解码java对象?我知道返回数据的java类的结构。返回的数据带有“Transfer-Encoding: chunked” header

或者我需要获取以 xml/json 形式发送的返回数据吗?

这是我得到的响应的示例;(注意一些控制字符通过粘贴被删除)

 -- response --
200 OK
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
Date: Tue, 22 Nov 2011 13:24:41 GMT
��srjava.util.ArrayListx����a�IsizexpGwXsr,com.blah.blah.data.ClientInfos����8d�LdbNametLjava/lang/String;Ldescriptionq~xptdbname1t Customername1q~tdbname2tCustomername2sq~t

此示例以客户端、数据库名称的格式返回两个客户端

数据库名称1,客户名称1

数据库名称2,客户名称2

最佳答案

--- 随着更多详细信息的出现而进行编辑 ---

此 HTTP 响应的内容是一个序列化的 Java 对象。

Java 序列化是一个将内存中的对象打包成传输友好的字节以便由另一个 JVM 读取的过程。简而言之,你需要读取序列化格式。假设他们没有添加自定义序列化器,the actual protocol is documented here .

剩下的只是确保您对数据字段进行合理的 Java 到 Python 映射。如果您想支持“往返”数据处理,则应该将有时丢弃的“java 信息​​”缓存在数据结构的特殊“区域”中,以便可以序列化回相同的 java 结构。

--- 原帖如下 ---

要么你正在反汇编一个类(这很容易做到,因为 Java 具有非常严格的类结构,并且很容易将字节码逆向源代码映射),要么你正在处理数据。

如果它正在处理数据,那么您并没有真正解码 Java,并且执行您想要的操作的难易程度在很大程度上取决于收集有关数据编码方式的知识的能力。由于您提到了“Transfer-Encoding: Chunked” header ,我猜测您正在读取 HTTP 响应(包含 header )。

由于 Web 服务的流行,几乎每种语言都有一个处理 HTTP 响应的库。 Python already has a HTTP client as indicated here .

关于java - 在Python中解码java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8227332/

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