来自C#中基数+相对URL的绝对URL

时间:2008-09-24 18:39:51

标签: c# .net url path

我有一个基本网址:

http://my.server.com/folder/directory/sample

还有一个亲戚:

../../other/path

如何从中获取绝对URL?使用字符串操作非常简单,但我想使用Uri类或类似的东西以安全的方式执行此操作。

这是一个标准的C#应用​​程序,而不是ASP.NET应用程序。

2 个答案:

答案 0 :(得分:48)

var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");

OR

Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);

答案 1 :(得分:0)

有些人可能正在寻找允许在调试时动态转换网址的Javascript解决方案

var absoluteUrl = function(href) {
    var link = document.createElement("a");
    link.href = href;
    return link.href;
} 

使用像:

absoluteUrl("http://google.com")

  

http://google.com/

absoluteUrl("../../absolute")

  

http://stackoverflow.com/absolute