Estoy intentando iniciar sesión desde la línea de comando de cURL con el comando
curl --data "nombre de usuario=usuario&contraseña=contraseña&enviar=Iniciar sesión"http://www.ip.com:8080/LoginApplication/Login.jsp
Y después de eso, intenta acceder a la página interior usando
curl http://www.ip.com:8080/LoginApplication/Success.jsp
Pero me redirigen a la página de error porque no he iniciado sesión.
¿Qué me falta en mi primer comando para que pueda mantener la sesión? Tengo mi sitio web alojado localmente
Respuesta1
Bueno, necesitarás almacenar los datos de la sesión en una cookie. Puede utilizarla -c cookie_filename
para crear la cookie (agregue esto a su comando de inicio de sesión). Y luego, para las otras solicitudes, puede leer la cookie con -b cookie_filename
.
Por ejemplo:
curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile
EDITAR:
Fíjate que muchas veces loginpage
no es la página que abres con tu navegador web donde introduces tu usuario y contraseña. Tendrá que verificar dónde publica el formulario esos datos (busque la <form>
etiqueta en el código fuente y el action=...
atributo). Entonces, por ejemplo, si desea iniciar sesión enhttps://criticker.com, loginpage
eshttps://www.criticker.com/authenticate.phpy nohttps://www.criticker.com/signin.php, que es el que abres con tu navegador.
Un complemento/extensión de manipulación para su navegador puede ayudarle a encontrar los loginpage
datos correctos y todos los que se publican en él (como campos de entrada ocultos en el formulario).