从像“ http://localhost:2111/
”这样的 URL 如何将地址部分:http://localhost/
与端口部分:2111 分开?是否有一种数据结构可以让我 http://localhost:2111/
从其地址和端口中分离或构造?
问问题
1083 次
2 回答
2
用这个:
Uri uri = new Uri("http://localhost:2111/");
string newUri = uri.Scheme + "://" + uri.Host + "/";
Console.WriteLine(newUri);
// Output:
// http://localhost/
做相反的事情:
Uri uri = new Uri("http://localhost/");
string newURI = uri.AbsoluteUri + uri.Port;
对我来说uri.Ports
,80
我不知道它是否适合你,但请尝试一下。
于 2013-04-09T07:58:52.827 回答
1
UriBuilder可用于通过将端口值设置为 -1 或 80 来从 url 中删除端口:
var uriBuilder = new UriBuilder("http://localhost:2111/");
uriBuilder.Port = -1; // or 80
string newUrl = uriBuilder.Uri.AbsoluteUri;
Console.WriteLine(newUrl);
以上将输出http://localhost/
.
如果要将它们重新添加在一起,请再次使用 UriBuilder 并将端口设置为 2111:
var uriBuilder = new UriBuilder("http://localhost/");
uriBuilder.Port = 2111;
string newUrl = uriBuilder.Uri.AbsoluteUri;
Console.WriteLine(newUrl);
以上将输出http://localhost/2111
.
于 2013-11-01T22:39:53.193 回答