3

程序中需要类似以下的 URI:

rtsp://127.0.0.1:554/live.sdp/
rtsp://127.0.0.1:554/live.sdp
rtsp://127.0.0.1:554
rtsp://127.0.0.1:554/
rtsp://127.0.0.1:554//live.sdp

最后,我只想有一种干净的方式:

rtsp://127.0.0.1:554/live.sdp

其中方案(rtsp://)、ip(127.0.0.1)、端口(554)和路径(live.sdp)分别提交。所以我必须确保路径不仅包含斜杠 (/),不以斜杠 (/live.sdp) 开头,也不以斜杠 (live.sdp/) 结尾,并且 URL不以斜杠结尾 (rtsp://127.0.0.1:554/),所以我可以在 URL 和路径之间添加一个斜杠,而不用担心会出错。

有什么简单的方法可以做到这一点?

4

3 回答 3

4

使用UriBuilder类来解析和构造 URI。没有必要重新发明轮子。

于 2013-01-03T13:19:33.127 回答
1

试试这个使用string split and format;

string s1 = ip + ":" + port + "/" + path;
string[] arr = s1.Split(new string[] { "/" }, 
                        StringSplitOptions.RemoveEmptyEntries);

string url = scheme + string.Format("{0}/{1}", arr)
于 2013-01-03T13:27:10.697 回答
0

尝试这样的事情

var uri = new UriBuilder(String.Format("{0}://{1}:{2}/{3}",protocol,host,port,path)).Uri;
于 2013-01-03T13:36:10.927 回答