Estoy tratando de descargar un archivo de un sitio web que requiere inicio de sesión. Este comando recupera el cookie.txt y el html descargado muestra que he iniciado sesión (ok):
(Rompí el comando en líneas para facilitar la lectura)
wget
--user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0)
Gecko/20100101 Firefox/45.0"
--keep-session-cookies
--save-cookies cookies.txt
--post-data "login_username=MyUserName&login_password=*******"
--header="Host: somewebsite.com"
--header="Referer: http://somewebsite.com/files/download.php?i=2157716"
http://somewebsite.com/login.php
Aquí obtengo cookies.txt. (todo bien). Y después de eso: (tratando de descargar)
wget
--user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0)
Gecko/20100101 Firefox/45.0"
--load-cookies cookies.txt
--header="Host: somewebsite.com"
--header="Referer: http://somewebsite.com/files/download.php?i=2157716"
--header="Connection: keep-alive" --header="Accept-Language: en-US,en;q=0.5"
--header="Accept-Encoding: gzip, deflate"
http://somewebsite.com/files/dl.php?t=2157716
Pero en lugar de descargar el archivo, devuelve un HTML que dice que el archivo solo se puede descargar desde el sitio web.
Aquí están los datos POST de Firefox justo antes de que comience la descarga:
¿Lo que falta?
wget
no maneja las redirecciones de JavaScript.