google chrome - org - Cómo guardar marcos de websocket en Chrome
websocket org echo html (2)
Estoy registrando el tráfico de websocket usando Chrome / Developer Tools. No tengo problemas para ver los marcos de websocket en la ventana "Frames" de la red, pero no puedo guardar todos los marcos (content enc. Como JSON) en un archivo externo (de texto). Ya he intentado guardar como HAR y simplemente utilicé cntl A, C, V (la primera "página" solo se copió) pero hasta ahora no he tenido mucho éxito.
Estoy ejecutando Linux Mint 17.
¿Tiene pistas de cómo se puede hacer esto?
Esto es algo que no es posible poner en formato HAR en este momento porque la especificación HAR no tiene detalles sobre cómo exportar formatos de transferencia enmarcados como WebSockets
Desde aquí: https://groups.google.com/forum/#!topic/google-chrome-developer-tools/jUOLFqpu-2Y
Logré exportarlos como JSON de esta manera:
- separar al inspector
- iniciar un inspector en el inspector con ctrl-shift-j
- ve a la pestaña de fuentes, selecciona devtools / bundled / network / network_module.js
- bonita impresión con la
{}
cosa - establecer un punto de interrupción en un lugar conveniente dentro de Network.ResourceWebSocketFrameView
- cuando se detiene,
this._request._frames
apunta a los marcos registrados
En este punto, puedes hacer lo que quieras con ellos. Utilicé la utilidad console.save
de https://bgrins.github.io/devtools-snippets/#console-save para guardar los marcos como un archivo JSON.
"Una imagen vale más que mil palabras" (pero no tengo suficiente mojo para que no puedas verla ...)
Los resultados para, por ejemplo, la API de Poloniex indocumentada que utiliza el sitio web:
[
{
"type": "send",
"text": "{/"command/":/"subscribe/",/"channel/":1000,/"userID/":10000000}",
"time": 1499352346.028318,
"opCode": 1,
"mask": true
},
{
"type": "send",
"text": "{/"command/":/"subscribe/",/"channel/":1001}",
"time": 1499352346.0284271,
"opCode": 1,
"mask": true
},
{
"type": "send",
"text": "{/"command/":/"subscribe/",/"channel/":1002}",
"time": 1499352346.028444,
"opCode": 1,
"mask": true
},
{
"type": "send",
"text": "{/"command/":/"subscribe/",/"channel/":1003}",
"time": 1499352346.028456,
"opCode": 1,
"mask": true
},
{
"type": "send",
"text": "{/"command/":/"subscribe/",/"channel/":/"BTC_ETH/"}",
"time": 1499352346.028758,
"opCode": 1,
"mask": true
},
{
"type": "receive",
"text": "[1000,1]",
"time": 1499352346.6891,
"opCode": 1,
"mask": false
},
...