c++封裝簡易http(基於microhttpd)
阿新 • • 發佈:2019-02-05
使用例子:
目前使用 vs2010編譯的, 下載工程: 點選開啟連結#include "httpservice.hpp" #include "boost/bind.hpp" #include <iostream> using namespace std; void handle_test1(boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){ res->write(req->body()); } class CLASSA { public: CLASSA(){}; void handle_test2(boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){ //cout << "收到引數: name" << req->query<std::string>("name") << ", age:" << req->query<int>("age") << endl; res->set_header("Content-Type", "application/json"); res->write("{\"name\":\"button\", \"age\":100}"); } }; int main() { LsHTTP http(8888); // 可以用自由函式註冊 http.POST("/chen/test1", handle_test1); // 可以用成員函式註冊 CLASSA testclass; http.GET("/chen/test2", boost::bind(&CLASSA::handle_test2, &testclass, _1, _2)); // 可以用lambda註冊 http.GET("/chen/test3", [](boost::shared_ptr<Response> res, boost::shared_ptr<Request> req){ res->write("handle test3 url request"); }); http.run(); (void) getchar (); return 0; }