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缓冲、录像、检索、回放、录像下载、网页管理等多种功能,是目前市面上最合理的一款商用流媒体服务器!
点击链接加入群【EasyDSS流媒体服务器】:560148162
获取更多信息
Copyright © EasyDarwin.org 2012-2017