Ⅰ. はじめに
タイトルの通り「cpprestsdkを利用してWebサーバを構築する方法」です。
Ⅱ. サンプルプログラム
#include <Windows.h> #include <iostream> #include <format> #include <cpprest/http_listener.h> int main() { SetConsoleOutputCP(CP_UTF8); auto address = utility::conversions::to_string_t("http://127.0.0.1:80"); web::http::experimental::listener::http_listener listener(address); listener.support(web::http::methods::GET, [](web::http::http_request request) { auto parameters = web::uri::split_query(request.request_uri().query()); auto param1 = utility::conversions::utf16_to_utf8(parameters.at(L"param1")); auto param2 = utility::conversions::utf16_to_utf8(parameters.at(L"param2")); std::cout << param1 << std::endl; std::cout << param2 << std::endl; request.reply(web::http::status_codes::OK, "OK"); }); listener.support(web::http::methods::POST, [](web::http::http_request request) { auto json = request.extract_json().get(); auto name = utility::conversions::utf16_to_utf8(json[L"name"].as_string()); std::cout << name << std::endl; auto str = std::format("Hello {0}", name); request.reply(web::http::status_codes::OK, str); }); listener.open().wait(); getchar(); listener.close(); return 0; }
実行結果
GET | |
POST |