RTSP取流设备密码含@

一、rtsp取流格式简介

RTSP的基本取流格式为:rtsp://username:password@ip_addr/...

如海康的ip地址为:rtsp://admin:admin123@10.1.69.100/Streaming/Channels/101

二、问题

如果在设备密码中有@号,则会导致整个路径在ip地址前有@符号

如:rtsp://admin:admin@123@10.1.69.100/Streaming/Channels/101

这时解析要注意了,不能用第一个@号来解析其用户名和密码,而是应该用最后一个

三:我的解决代码

1     // 处理密码中含有@号的情况
2     string host = FindField(strUrl, "://", "/");
3     size_t pos = host.find_last_of('@');
4     string userAndPwd = "";
5     if (pos != string::npos)
6     {
7         userAndPwd = host.substr(0, pos);
8     }
原文地址:https://www.cnblogs.com/huoqs/p/10969629.html