GNU/Linux >> Tutoriales Linux >  >> Linux

CURL para acceder a una página que requiere un inicio de sesión desde una página diferente

También es posible que desee iniciar sesión a través del navegador y obtener el comando con todos los encabezados, incluidas las cookies:

Abra la pestaña Red de Herramientas para desarrolladores, inicie sesión, navegue a la página necesaria, use "Copiar como cURL".


Es probable que el sitio web utilice cookies para almacenar la información de su sesión. Cuando corres

curl --user user:pass https://xyz.example/a  #works ok
curl https://xyz.example/b #doesn't work

curl se ejecuta dos veces, en dos sesiones separadas. Por lo tanto, cuando se ejecuta el segundo comando, las cookies configuradas por el primer comando no están disponibles; es como si hubiera iniciado sesión en la página a en una sesión del navegador e intenté acceder a la página b en otro diferente.

Lo que tienes que hacer es guardar las cookies creadas por el primer comando:

curl --user user:pass --cookie-jar ./somefile https://xyz.example/a

y luego vuelva a leerlos cuando ejecute el segundo:

curl --cookie ./somefile https://xyz.example/b

Alternativamente, puede intentar descargar ambos archivos en el mismo comando, que creo que usará las mismas cookies.


Después de buscar en Google encontré esto:

curl -c cookie.txt -d "LoginName=someuser" -d "password=somepass" https://oursite/a
curl -b cookie.txt https://oursite/b

No tengo idea si funciona, pero podría llevarte en la dirección correcta.


Linux
  1. mimipenguin:volcar las contraseñas de inicio de sesión de los usuarios actuales de Linux

  2. Acceder al subproceso local desde otro subproceso

  3. Haga que los recursos de la página de descarga de wget estén en un dominio diferente

  4. ¿En qué se diferencia install -c de cp?

  5. Cómo ingresar información de inicio de sesión para un sitio web desde la línea de comandos de Linux

Diferentes formas de acceder a Google Drive en Linux Desktop

6 características que Windows 10 ha tomado de Linux

Cómo acceder a las particiones de Linux desde Windows 10

RabbitMQ:obtenga mensajes de una cola usando curl

¿Cuáles son las diferentes formas en que se puede mostrar un mensaje en un shell bash después de que un usuario inicia sesión?

¿Cómo distinguir la entrada de diferentes teclados?