Específicamente, me gustaría poder descargar ciertas páginas de mi perfil de usuario en varios sitios de Stack Exchange. Sin embargo, me gustaría hacer esto automáticamente (usando un cron
trabajo), desde la línea de comandos y en un formato analizable. Prefiero usar Linux para esto, pero podría obtener acceso a una máquina Mac o Windows si es necesario.
Idealmente, me gustaría usar una herramienta como Wget o cURL para buscar las páginas. Sin embargo, no sé cómo pasar el inicio de sesión. He visto sugerencias que mencionan que puede iniciar sesión a través de Firefox, exportar la cookie relevante e importarla a Wget a través de su --load-cookies
opción. Por ejemplo aquí y aquí . Si bien esto funciona si acabo de iniciar sesión, no lo hace después de un tiempo. Supongo que porque el token de identificación debe actualizarse.
Entonces, justo después de iniciar sesión en SU y exportar mis cookies, puedo hacer:
wget --load-cookies cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
Sin embargo, después de unos minutos, aparece un error 404:
wget -O ~/stack/$(date +%s) --load-cookies ~/cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
--2013-08-06 04:04:14-- https://superuser.com/users/151431/terdon?tab=responses
Resolving superuser.com (superuser.com)... 198.252.206.16
Connecting to superuser.com (superuser.com)|198.252.206.16|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-08-06 04:04:15 ERROR 404: Not Found.
Entonces, ¿cómo puedo iniciar sesión automáticamente en un sitio web habilitado para OpenID desde la línea de comandos?
PD. Creo que esto es más adecuado aquí que en las aplicaciones web, ya que mi pregunta es realmente sobre el aspecto de la línea de comandos y no sobre los detalles reales de la página web en cuestión. Supongo que cualquier solución será aplicable a todos los sitios de OpenID .
Respuestas:
No puede, porque las cookies se actualizan de vez en cuando. Esto es por razones de seguridad, la única forma de hacerlo es como ya lo hizo. al menos, desde mi entendimiento.
fuente
(Re-) Lea la página de manual para
wget
ver las descripciones de las banderas--user
y--password
.Tenga en cuenta que no se recomienda pasar una contraseña como argumento de línea de comando, ya que cualquiera que lo ejecute
ps
puede verla. La mejor práctica es no guardar contraseñas sin procesar en ningún lado, pero lo mejor es ponerlo en un archivo que solo el propietario pueda leer.fuente