Tengo un comando simple para obtener una página de inicio de sesión con todas sus dependencias:
wget --post-data='user=user&password=password' --page-requisites https://…/login
El registro del servidor muestra lo siguiente (abreviado por razones obvias):
- ENVIAR/iniciar sesión 302
- OBTENER /cuenta 200
- POST /robots.txt 200 (debería ser GET, pero funciona, así que no hay problema)
- POST /favicon.ico 200 (ídem)
- POST /[muy larga URL de PageSpeed]500 (por cada CSS, JavaScript y archivo de imagen de la página)
OBTENER estos archivos funciona bien, por lo que las URL son correctas, pero parece que a PageSpeed no le gusta que los clientes PUBLICEN.¿Cómo puedo wget
utilizar GET para todo excepto para la solicitud inicial?
Usando GNU Wget 1.18.
Actualizar:Bichoenviado.
Respuesta1
De 'hombre wget':
This example shows how to log in to a server using POST and then proceed to download the desired pages, presumably only accessible to authorized
users:
# Log in to the server. This can be done only once.
wget --save-cookies cookies.txt \
--post-data 'user=foo&password=bar' \
http://example.com/auth.php
# Now grab the page or pages we care about.
wget --load-cookies cookies.txt \
-p http://example.com/interesting/article.php
If the server is using session cookies to track user authentication, the above will not work because --save-cookies will not save them (and neither
will browsers) and the cookies.txt file will be empty. In that case use --keep-session-cookies along with --save-cookies to force saving of session
cookies.