Предположим, после хорошей печати мой пакет http / 2 был отображен как:
Layer HTTP2:
Stream: HEADERS, Stream ID: 85, Length 169, POST xxxxxxxxxx
Length: 169
Type: HEADERS (1)
Flags: 0x24
.... ...0 = End Stream: False
.... .1.. = End Headers: True
.... 0... = Padded: False
..1. .... = Priority: True
00.0 ..0. = Unused: 0x00
0... .... .... .... .... .... .... .... = Reserved: 0x0
.000 0000 0000 0000 0000 0000 0101 0101 = Stream Identifier: 85
Pad Length: 0
0... .... .... .... .... .... .... .... = Exclusive: False
.000 0000 0000 0000 0000 0000 0000 1011 = Stream Dependency: 11
Weight: 21
Weight real: 22
и так далее, и тому подобное. Я попытался извлечь «идентификатор потока», записав следующие команды:
print(cap[i].http2.stream['stream_ID'])
Я попробовал описанный выше подход, потому что поле «поток» для меня выглядело как пары ключ-значение в словаре. Но не вышло. Не могли бы вы помочь мне узнать, как я могу извлечь значение Stream ID из вышеупомянутого фрагмента кода? PS "поток" - это имя поля пакета "http2", которое дает мне
Stream: HEADERS, Stream ID: 19, Length 30, POST xxxxxxx
, когда я применяю команду
print(cap[i].http2.stream)