c++ http第一个服务
一、下载相关依赖:这是一个git开源项目 代码仓地址
二、演示代码,编译参数:g++ test.cpp -I/**** -lpthread
c++
#include <httplib.h>
using namespace httplib;
void wuhan(const Request &req, Response &res)
{
printf("httplib server recv a req: %s\n ", req.path.c_str() );
res.set_content("<html> \
<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"> \
<h1> 武汉, 加油!</h1></html>",
"text/html");
res.status = 200;
}
int main(void)
{
using namespace httplib;
Server svr;
svr.set_base_dir("./");
/// Get
svr.Get("/wuhan", wuhan);
svr.Get("/hi", [](const Request& req, Response& res) {
res.set_content("Hello World!", "text/plain");
});
svr.Get(R"(/numbers/(\d+))", [&](const Request& req, Response& res) {
auto numbers = req.matches[1];
res.set_content(numbers, "text/plain");
});
svr.Get("/body-header-param", [](const Request& req, Response& res) {
if (req.has_header("Content-Length")) {
auto val = req.get_header_value("Content-Length");
}
if (req.has_param("key")) {
auto val = req.get_param_value("key");
}
res.set_content(req.body, "text/plain");
});
svr.Get("/stop", [&](const Request& req, Response& res) {
svr.stop();
});
/// listen
svr.listen("localhost", 1234);
}
三、访问网址http://localhost:1234/hi