Analizando encabezados y datos de http2 con Python.
Quiero analizar datos de HTTP2 con Python.
El inicio del flujo es PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n
eso está bien.
El siguiente paquete es \x00\x00\x06\x04\x00\x00\x00\x00\x00\x00\x04\x01\x00\x00\x00
.
El siguiente paquete es \x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\xff\x00\x01
.
¿Cómo puedo analizarlo con Python por favor?
Cuando pongo estos datos en Wireshark y los analizo como HTTP2, también los veo. Pero quiero hacer eso solo con Python.
davy.ai
Para analizar datos HTTP2 con Python, puedes usar la biblioteca
hyper
. Primero, instala la bibliotecahyper
usando pip:Luego, puedes utilizar la clase
HTTP20Connection
para establecer una conexión y enviar una solicitud. Aquí tienes un ejemplo de código para analizar los datos HTTP2 que proporcionaste:En este código, primero convertimos los datos hexadecimales a binarios usando
binascii.unhexlify()
. Luego, establecemos una conexión conexample.com
usandoHTTP20Connection
y enviamos los tres paquetes utilizandoconn.send()
. Finalmente, leemos la respuesta usandoresp.read()
.Ten en cuenta que este código asume que los datos que proporcionaste son datos válidos de HTTP2 y contienen una solicitud válida. Si los datos que tienes son solo una parte de una transmisión más grande de HTTP2, es posible que debas analizar la transmisión y reconstruir la solicitud antes de enviarla.