Заголовок http в пакетах? - PullRequest
       40

Заголовок http в пакетах?

0 голосов
/ 13 февраля 2010

как получить заголовок http в пакете на c ++?

любой пример кода или учебные пособия могут быть большой помощью! ..

спасибо! .. * * 1005

примечание: winpcap использовался для перехвата пакетов, и эти пакеты уже отфильтрованы, чтобы быть только протоколами tcp и http / s ... единственная проблема состоит в том, как декодировать заголовок http пакета.

Ответы [ 2 ]

1 голос
/ 13 февраля 2010

Если вы прочитали заголовок в буфер, уже используйте HTTP-спецификацию .

Если вам нужно прочитать заголовок, посмотрите на ASIO или boost :: asio (та же библиотека) для аккуратной сетевой библиотеки низкого уровня. Или рассмотрим Qt , всю платформу C ++, которая поддерживает как низко, так и высокоуровневые сети (и намного больше). Есть классы HTTP клиент / сервер, которые вы можете использовать там.

Или откройте сокет () и прочитайте его напрямую. Eww.

0 голосов
/ 13 февраля 2010

Сетевая библиотека C ++ может быть тем, что вы ищете.

Проверьте, в частности, http::parser и его функцию-член parse_http_headers. Он заполнит объект типа http::message содержимым заголовка вашего сообщения.

Библиотека все еще находится в стадии разработки, и документации недостаточно. Таким образом, лучший способ узнать это, по-видимому, просмотреть исходный код (но не волнуйтесь, он очень читабелен).

...