![]() |
Описание: Удобный C++ враппер, парсер и билдер для HTTP сообщений. Использует библиотеку http-parser для парсинга. Я устанавливал через vcpkg, вы можете собрать сами. Работа с net::http::response аналогична работе с net::http::request. Если в запросе не будет тела, то спарсятся только start line + заголовки. Можно использовать вместе с http_url_handler. В этой библиотеке есть 4 класса:
Парсинг сообщений: C++: [CODE] std :: string request_str { R"(GET /path HTTP/1.1 Content-Length: 16 Content-Type: application/json User-Agent: test-user-agent {"key": "value"})" } ; // Записываем HTTP сообщение в строку net :: http :: request request { request_str } ; // Парсим сообщение в качестве запроса std :: cout Билдинг сообщений с нуля: C++: [CODE] std :: string body { R"({"key": "value"})" } ; // Записываем тело в строку net :: http :: request request { } ; // Создаём пустой объект request . version ( "1.1" ) ; // Заполняем объект значениями request . method ( net :: http :: method :: GET ) ; request . target ( "/path" ) ; request . headers ( net :: http :: headers_t { { "Content-Length" , std :: to_string ( body . size ( ) ) } , { "Content-Type" , "applicaton/json" } , { "User-Agent" , "test-user-agent" } } ) ; request . body ( { body . begin ( ) , body . end ( ) } ) ; std :: cout Репозиторий (Исходник): GitHub - receiver1/http_message_handler Contribute to receiver1/http_message_handler development by creating an account on GitHub. github.com |
| Время: 10:32 |