Pregunta Cómo obtener la URL de la página actual en C # [duplicar]


Esta pregunta ya tiene una respuesta aquí:

¿Alguien puede ayudarme a obtener la URL de la página de trabajo actual de ASP.NET en C #?


559
2018-02-27 06:20


origen


Respuestas:


Prueba esto :

string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx

string host = HttpContext.Current.Request.Url.Host;
// localhost

809
2018-02-27 06:23



En ocasiones puede necesitar obtener diferentes valores de URL.

El siguiente ejemplo muestra diferentes formas de extraer diferentes partes de URL

EJEMPLO: (URL de muestra)

http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2

CÓDIGO

Response.Write("<br/> " + HttpContext.Current.Request.Url.Host);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Authority);
Response.Write("<br/> " + HttpContext.Current.Request.Url.Port);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsolutePath);
Response.Write("<br/> " + HttpContext.Current.Request.ApplicationPath);
Response.Write("<br/> " + HttpContext.Current.Request.Url.AbsoluteUri);
Response.Write("<br/> " + HttpContext.Current.Request.Url.PathAndQuery);

SALIDA

localhost
localhost:60527
60527
/WebSite1test/Default2.aspx
/WebSite1test
http://localhost:60527/WebSite1test/Default2.aspx?QueryString1=1&QueryString1=2
/WebSite1test/Default2.aspx?QueryString1=1&QueryString2=2

Puede copiar pegar encima del código de muestra y ejecutarlo en la aplicación de formulario web asp.net con diferentes URL.

También recomiendo leer el enrutamiento ASP.Net en caso de que pueda usar el enrutamiento ASP, entonces no es necesario que use la URL tradicional con la cadena de consulta.

http://msdn.microsoft.com/en-us/library/cc668201%28v=vs.100%29.aspx


404
2018-05-22 13:46



Solo compartí porque esta era mi solución gracias a la publicación de Canavar.

Si tienes algo como esto:

"http://localhost:1234/Default.aspx?un=asdf&somethingelse=fdsa"

o así:

"https://www.something.com/index.html?a=123&b=4567"

y solo quieres la parte que un usuario escribiría, entonces esto funcionará:

String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");

que resultaría en estos:

"http://localhost:1234/"
"https://www.something.com/"

89
2018-04-26 16:56



si solo quieres la parte entre http: // y la primera barra oblicua

string url = Request.Url.Host;

devolvería stackoverflow.com si se llama desde esta página

Aquí esta la completar el desglose


41
2018-02-27 06:27



el request.rawurl will da el contenido de la página actual da la ruta exacta que requirió

utilizar HttpContext.Current.Request.RawUrl


17
2018-01-17 14:31



Si quieres obtener

localhost:2806 

de

http://localhost:2806/Pages/ 

luego usa:

HttpContext.Current.Request.Url.Authority

13
2018-05-23 15:00



un consejo para las personas que necesitan el camino / url en el archivo global.asax;

Si necesita ejecutar esto en global.asax> Application_Start y tu modo de grupo de aplicaciones es integrado entonces recibirás el siguiente error:

La solicitud no está disponible en este contexto, excepción en   Application_Start.

En ese caso, necesitas usar esto:

System.Web.HttpRuntime.AppDomainAppVirtualPath

La esperanza ayudará a otros ...


10
2017-08-05 11:13



Una búsqueda me llevó a esta página, pero no era exactamente lo que estaba buscando. Publicando aquí en caso de que alguien más busque lo que yo era también en esta página.

Hay dos formas de hacerlo si solo tiene un valor de cadena.

.NET manera:

Igual que @Canavar, pero puedes instanciar un nuevo objeto Uri

String URL = "http://localhost:1302/TESTERS/Default6.aspx";
System.Uri uri = new System.Uri(URL);

lo que significa que puede usar los mismos métodos, p.

string url = uri.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string host = uri.host
// localhost

Regex manera:

Obtener partes de una URL (Regex)


8
2017-09-19 13:36



Supongo que es suficiente para regresar al camino absoluto ...

 Path.GetFileName( Request.Url.AbsolutePath )

usando System.IO;


6