Absolute URL from base + relative URL in C#

2019-02-04 02:24发布

I have a base URL :

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

And a relative one :

../../other/path

How to get the absolute URL from this ? It's pretty straighforward using string manipulation, but I would like to do this in a secure way, using the Uri class or something similar.

It's for a standard a C# app, not an ASP.NET one.

标签: c# .net url path
2条回答
爷的心禁止访问
2楼-- · 2019-02-04 02:30
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);
查看更多
爷、活的狠高调
3楼-- · 2019-02-04 02:56

Some might be looking for Javascript solution that would allow conversion of urls 'on the fly' when debugging

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

use like:

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

http://google.com/

or

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

http://stackoverflow.com/absolute

查看更多
登录 后发表回答