如何将Chrome的请求有效负载转换为JSON?

时间:2017-04-30 22:07:17

标签: json google-chrome http-post google-chrome-devtools payload

当我在Mac上检查Chrome的DevTools(网络标签)中的网络请求时,我已经获得了 Payload 格式如下:

  

7|0|6|https://www.example.com/app/Basic/|00D1D071AC218DFE91521C012683E911|com.optionfair.client.common.services.nongenerated.RefreshService|getCometUpdates|I|J|1|2|3|4|3|5|6|6|173|VvAwAqy|o$UN|

基本上由竖线字符(|)分隔。

如何将上述有效负载从Chrome复制或转换为某种有意义的格式,例如JSON?有什么想法吗?

Chrome's DevTools, Network tab, Request Payload, Headers

顺便说一下。在this question中,它在屏幕截图中看起来很好,但在我的情况下,我没有查看解析并且它看起来根本不像JSON格式。

在Mac上使用谷歌浏览器(版本57.0.2987.133,64位)。

可重复的步骤:

  1. 转到此page
  2. 在Network / XHR选项卡上打开 DevTools ,查找刷新请求。
  3. 我的目标是在命令行工具(例如curl)中重复/复制请求有效负载中的POST数据,以便可以识别(在上面提到的页面上没有必要,但是我想知道处理这种blob格式的一般方法。我希望JSON格式,但它不是。

1 个答案:

答案 0 :(得分:1)

在此,您需要查看请求标头 content-type,以确定此请求在知道可能解析的内容之前的编码方式:

request headers

这是GWT RPC,因此它可以包括内置和自定义Java对象的序列化,其中类的知识是服务器端Java和客户端上运行的Java,通过Google Web Toolkit运行。

Chrome没有理由直接理解这种格式,也不需要使用JSON或XML cannonicalization。假设程序没有使用源地图进行转换,那么在客户端可能的范围内完全解释这些调用可能需要对已编译的客户端代码进行反汇编或内省技巧。

在不深入研究客户端代码的情况下,可以通过修改调用来猜测或探究类及其方法的定义时解释the literal rpc