Domanda

Ho un URL di base:

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

E uno relativo:

../../other/path

Come ottenere l'URL assoluto da questo? È piuttosto semplice usare la manipolazione di stringhe, ma vorrei farlo in modo sicuro, usando la classe Uri o qualcosa di simile.

È per un'app standard C #, non ASP.NET.

È stato utile?

Soluzione

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

o

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

Altri suggerimenti

Alcuni potrebbero essere alla ricerca di una soluzione Javascript che consenta la conversione degli URL "al volo" durante il debug

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

usa come:

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

  

http://google.com/

o

absoluteURL (" ../../ assoluta ")

  

http://stackoverflow.com/absolute

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top