zoukankan      html  css  js  c++  java
  • EasyDSS RTMP流媒体服务器的HTTP接口query url的C++实现方法

    EasyDSS支持HTTP GET接口访问,我们需要获取url的各种参数信息

    比如http://ip:port/action?a=1&b=2&c=3

    我们需要知道对应的a、b、c的值

    这里我们实现了简单的query url,能满足一般要求

    后来回实现一个完善的URI解析类

    to_lower辅助函数,C++中没有string的转换大小写函数

    inline void to_lower(std::string& str)
    {
        for (int i = 0; i <str.size(); i++)
            str[i] = tolower(str[i]);
    }

    query_url函数,简单实现

    std::map<std::string, std::string> query_url(const std::string& url)
    {
        std::string keyval, key, val;
        //将参数以std::map的方式返回
        std::map<std::string, std::string> params;
        std::istringstream issUrl(url);
        //从issUrl中使用分隔符`&`提取
        while (std::getline(issUrl, keyval, '&'))
        {
            std::istringstream iss(keyval);
            //再以`=`分隔符获取key和value
            if (std::getline(std::getline(iss, key, '='), val))
            {
                to_lower(key);
                params[key] = val;
            }
        }
    
        return params;
    }

    当然,最应该使用的应该是std::map

    关于EasyDSS流媒体服务器

    EasyDSS商用流媒体服务器解决方案是一套集流媒体点播、转码与管理、直播、录像、检索、时移回看于一体的一套完整的商用流媒体服务器解决方案,EasyDSS高性能RTMP流媒体服务器支持RTMP推流,同步输出HTTP、RTMP、HLS、HTTP-FLV,支持推流分发/拉流分发,支持秒开、GOP缓冲、录像、检索、回放、录像下载、网页管理等多种功能,是目前市面上最合理的一款商用流媒体服务器!

    详细说明:http://www.easydss.com/

    点击链接加入群【EasyDSS流媒体服务器】:560148162

    获取更多信息

    邮件:support@easydarwin.org

    WEB:www.EasyDarwin.org

    Copyright © EasyDarwin.org 2012-2017

    EasyDarwin

  • 相关阅读:
    web应用/http协议/web框架
    算法-排序-1.冒泡排序/2.选择排序/3.插入排序
    算法-基础和查找-1.汉诺塔/2.顺序查找/3.二分查找/4.顺序查找和二分查找的比较
    前端开发
    前端开发
    前端开发
    前端开发
    数据库
    LeetCode : Add Binary
    LeetCode : Length of Last Word
  • 原文地址:https://www.cnblogs.com/babosa/p/9217755.html
Copyright © 2011-2022 走看看