• 大小: 5.13KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-22
  • 语言: C/C++
  • 标签: http  c++  en  TP  ib  

资源简介

        event_init();
 
        //创建一个http server
        struct evhttp *httpd;
        httpd = evhttp_start(httpd_option_listen, httpd_option_port);
        evhttp_set_timeout(httpd, httpd_option_timeout);
 
        //指定generic callback
        evhttp_set_gencb(httpd, httpd_handler, NULL);
        //也可以为特定的URI指定callback
        //evhttp_set_cb(httpd, "/", specific_handler, NULL);
 
        //循环处理events
        event_dispatch();
 
        evhttp_free(httpd);

资源截图

代码片段和文件信息


    #include 
    #include 
    #include      //for getopt fork
    #include      //for strcat
    //for struct evkeyvalq
    #include 
    #include 
    //for http
    #include 
    #include 
 
    #define MYHTTPD_SIGNATURE   “myhttpd v 0.0.1“
 
    //处理模块
    void httpd_handler(struct evhttp_request *req void *arg) {
        char output[2048] = “\0“;
        char tmp[1024];
 
        //获取客户端请求的URI(使用evhttp_request_uri或直接req->uri)
        const char *uri;
        uri = evhttp_request_uri(req);
        sprintf(tmp “uri=%s\n“ uri);
        strcat(output tmp);
 
        sprintf(tmp “uri=%s\n“ req->uri);
        strcat(output tmp);
        //decoded uri
        char *decoded_uri;
        decoded_uri = evhttp_decode_uri(uri);
        sprintf(tmp “decoded_uri=%s\n“ decoded_uri);
        strcat(output tmp);
 
        //解析URI的参数(即GET方法的参数)
        struct evkeyvalq par

评论

共有 条评论