C Programer  - 讨论区

标题:APR uri 模块编程示例

2014年01月19日 星期日 11:14

APR的uri模块提供了组装和解析URI的方法,同时也定义了一些常用协议的端口号。编程示例如下:

 

#include <stdio.h>
#include <apr.h>
#include <apr_pools.h>
#include <apr_errno.h>
#include <apr_strings.h>
#include <apr_uri.h>

void apr_err(const char *s, apr_status_t rv)
{
    char buf[120];
    fprintf(stderr, "%s: %s (%d)\n", s, 
        apr_strerror(rv, buf, sizeof buf), rv);
}

int main(int argc,char **argv) {
    apr_initialize();
    apr_pool_t *pool;
    apr_pool_create(&pool,NULL);
    apr_status_t st;

    apr_uri_t uri;
    char *str="http://www.okbuy.com:8080/list?category=166&ref=i_nav";    
    st=apr_uri_parse(pool,str,&uri);
    if(st != APR_SUCCESS) {
        apr_err("apr_uri_parse()",st);
        return st;
    }
    printf("scheme : %s\n",uri.scheme);
    printf("hostinfo : %s\n",uri.hostinfo);
    printf("hostname : %s\n",uri.hostname);
    printf("path : %s\n",uri.path);
    printf("port_str : %s\n",uri.port_str);
    printf("query : %s\n",uri.query);

    char *ustr=apr_uri_unparse(pool,&uri,0);
    printf("%s\n",ustr);

    apr_pool_destroy(pool);
    apr_terminate();
    return 0;
}

参考资料:

http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___u_r_i.html

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号