2010-02-13 2 views
-1

Как получить HTTP-заголовок в пакете в C++?http-заголовок в пакетах?

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

спасибо ..

примечание:! WinPcap был использован для перехвата пакетов и эти пакеты уже filterd быть только TCP и HTTP/s. Единственная проблема заключается в том, как декодировать http-заголовок пакета.

+0

Вы знаете, как выглядит HTTP-пакет? http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol – oneat

+0

Да, я точно знаю, как это выглядит. Проблема у меня есть, как получить данные или заголовок http в пакете, который извлекается winpcap. – jerams

ответ

0

C++ network library может быть тем, что вы ищете.

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

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

1

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

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

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

Смежные вопросы