Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Obtener nombre de fichero antes de descargarlo

Estas en el tema de Obtener nombre de fichero antes de descargarlo en el foro de .NET en Foros del Web. Buenas, antes de nada voy a intentar explicar porqué necesito hacer esto. http://dl.bukkit.org/latest-rb/craftbukkit.jar Si visitan ese enlace (para descargar CraftBukkit, el programa con el que ...
  #1 (permalink)  
Antiguo 13/05/2014, 12:47
 
Fecha de Ingreso: noviembre-2009
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 2
Obtener nombre de fichero antes de descargarlo

Buenas, antes de nada voy a intentar explicar porqué necesito hacer esto.

http://dl.bukkit.org/latest-rb/craftbukkit.jar

Si visitan ese enlace (para descargar CraftBukkit, el programa con el que se hacen prácticamente todos los servidores de Minecraft) verán que aunque en el enlace pone que el archivo se llama "craftbukkit.jar", el archivo que realmente comienza a descargarse se llama de una forma diferente.

¿Por qué? pues porque tal y como yo lo veo, se trata de un enlace que usan en la página web oficial, el cual siempre redirige a la última versión del programa, algo muy útil para no tener que estar actualizando el enlace de la página web cada vez que sacan una nueva versión, y muy útil también para el programa que estoy haciendo.

¿Cuál es el problema? pues que no conozco ningún método de VB.NET que permita descargar el archivo tal cual, obteniendo el nombre del archivo real, tal y como ocurre con un navegador web al entrar en ese enlace. Y no puedo limitarme a descargar el archivo con el nombre "craftbukkit.jar", pues me parece esencial que el programa no descargue una versión que ya está descargada, y además así tener una lista de todas las versiones descargadas.

Entonces necesito un método al que no haya que especificarle el nombre de archivo, o una forma de obtener la dirección a la que redirige "http://dl.bukkit.org/latest-rb/craftbukkit.jar".

¿Alguien sabría cómo solucionar esto? gracias.
  #2 (permalink)  
Antiguo 21/05/2014, 12:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 67
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Obtener nombre de fichero antes de descargarlo

Solucionado. Me respondo a mí mismo para que le sirva a alguien en un futuro.

La solución la encontré aquí http://www.daniweb.com/software-deve...-after-request

Y tal que así queda una función que recibe la URL original y devuelve la URL a la que redirige.

Código VB.NET:
Ver original
  1. Private Function GetRealUrl(ByVal Url As String)
  2.         Dim OriginalUrl As HttpWebRequest = DirectCast(HttpWebRequest.Create(Url), HttpWebRequest)
  3.         OriginalUrl.AllowAutoRedirect = True
  4.         Dim Response As HttpWebResponse
  5.         Dim RealUrl As String
  6.         Response = OriginalUrl.GetResponse
  7.         RealUrl = Response.ResponseUri.AbsoluteUri
  8.         Return RealUrl
  9.  
  10.     End Function

No devuelve el nombre del fichero pero para eso nos puede ayudar el método Replace en seguramente la mayoría de los casos: http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

Etiquetas: fichero, nombre, vb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:42.