Страница 1 из 1

синхронный веб-сервер

Добавлено: 02 окт 2024, 16:56
ya
https://github.com/yhirose/cpp-httplib

Однофайловая кроссплатформенная библиотека HTTP/HTTPS на C++11 только с заголовками.

Она очень проста в настройке. Просто включите файл httplib.h в свой код!

Важно

Эта библиотека использует «блокирующий» сокетный ввод/вывод. Если вы ищете библиотеку с «неблокирующим» вводом/выводом через сокеты, то это не та библиотека, которая вам нужна.

Код: Выделить всё

//#define CPPHTTPLIB_OPENSSL_SUPPORT
#include <iostream>
#include <string>
#include "httplib.h"
/*
// HTTP
httplib::Server svr;

// HTTPS
httplib::SSLServer svr;

svr.Get("/hi", [](const httplib::Request &, httplib::Response &res) {
  res.set_content("Hello World!", "text/plain");
});

svr.listen("0.0.0.0", 8080);
*/


int main() {
    httplib::Server server;

    server.Get("/hi", [](const httplib::Request &, httplib::Response &res) {
  res.set_content("Hello World!", "text/plain");
});
    
    
    server.Post("/", [](const httplib::Request& req, httplib::Response& res) {
        // Обрабатываем тело запроса
        std::string body = req.body;

        std::cout << "Received POST data: " << body << "\n";

        // Успешно завершенный запрос
        res.set_content("File uploaded successfully", "text/plain");
    });

    std::cout << "Listening on port 8080...\n";
    server.listen("0.0.0.0", 8080);
    
    return 0;
}

Код: Выделить всё

g++ -std=c++11 -o web4 web4.cpp -lpthread