Intentando descargar el archivo en el código.Cómo usar HttpWebRequest para descargar el archivo
código actual:
Dim uri As New UriBuilder
uri.UserName = "xxx"
uri.Password = "xxx"
uri.Host = "xxx"
uri.Path = "xxx.aspx?q=65"
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(uri.Uri), HttpWebRequest)
request.AllowAutoRedirect = True
request = DirectCast(WebRequest.Create(DownloadUrlIn), HttpWebRequest)
request.Timeout = 10000
'request.AllowWriteStreamBuffering = True
Dim response As HttpWebResponse = Nothing
response = DirectCast(request.GetResponse(), HttpWebResponse)
Dim s As Stream = response.GetResponseStream()
'Write to disk
Dim fs As New FileStream("c:\xxx.pdf", FileMode.Create)
Dim read As Byte() = New Byte(255) {}
Dim count As Integer = s.Read(read, 0, read.Length)
While count > 0
fs.Write(read, 0, count)
count = s.Read(read, 0, read.Length)
End While
'Close everything
fs.Close()
s.Close()
response.Close()
La ejecución de este código y comprobar el response.ResponseUri indica im siendo redirigidos a la página de inicio de sesión y no con el archivo PDF.
Por alguna razón, no está autorizando el acceso ¿qué podría extrañar ya que estoy enviando el nombre de usuario y la contraseña en el uri? Gracias por su ayuda
¿La página realmente permite la autorización a través de la url? ¿O necesita autorizar a través de una interfaz web que establece una cookie? Estoy adivinando el último, en cuyo caso necesitarás realizar 2 solicitudes, 1 para iniciar sesión y almacenar la cookie, el segundo para solicitar el pdf (usando la cookie) – Steve
El código me dio un buen comienzo para realizar mi descarga. Gracias amigo – MiBol