Necesito iniciar sesión desde la línea de comando en un sitio que no usa una para la autenticación, pero es su propia rutina de JavaScript. Tiene un cuadro de inicio de sesión normal en la esquina superior izquierda donde solicita el nombre de usuario (
Para el cuadro de nombre de usuario, el código es
<input name="dnn$ctr480$View$tbUsername" type="text" id="tbUsername" class="textboxcss dnnFormRequired">Para el cuadro de contraseña, el código es
<input name="dnn$ctr480$View$tbPassword" type="password" id="tbPassword" class="textboxcssPW dnnFormRequired">y el Botón "Iniciar sesión" tiene el siguiente código:
<a onclick="return loginValidation();" id="dnn_ctr480_View_cmdLogin" class="imageLogin" allowtransparency="true" href="javascript:__doPostBack('dnn$ctr480$View$cmdLogin','')"></a>Hice un inicio de sesión exitoso con el navegador y luego copié la solicitud que se envió para obtener una página una vez que inicié sesión. Incluye (además de otras cosas) lo siguiente:
-H 'Cookie: .ASPXANONYMOUS=6aLumAgb2AEkAAAAYjIyMjA3Y2MtOTMwNi00OGQwLWI2ZTMtYzExNTE1M2Y5MDIy0; Analytics_VisitorId=6e8f281f-156a-4a8c-b41f-c50252b3a88b; PORTAL_REDIRECT=lastPage=https%3a%2f%2fportal.example.org%2flogin.aspx%3fReturnUrl%3d%252fngppapp%252fCreateTTTdoc.aspx%253fmode%253dview%2526contributionUId%253dC1170%26mode%3dview%26contributionUId%3dC1170; ASP.NET_SessionId=tudiol5m4um01yriigqwstgc; dnn_IsMobile=False; language=en-US; __RequestVerificationToken=jyoeX6KECMhBmChQpE3VtzECboYmfRF--mS-dc23E_tZu_mDIuJsTE9BTryrSMRGFYd-Wg2; Tbs=All; Location=All; PresenceTypeAllowed=0; StartDate=2021-11-14; EndDate=2022-11-14; StartEndDates=-1; LastPageId=0:191; authentication=; .DOTNETNUKE=820FD02418EA31BB59422479C0A4B582DE5113DED12DBF8A7B2A6CAD32EDE80630D6AC69A808CE29F68F0074B8BAE10D7646F97A9CC1AD642418416AE8DCEF4EA45E253C9FF6FA999782D35A687E3A76B85C7F9C88EA71D089DE328F7CD72EE676811C642600A45337C8346D; Analytics=SessionId=838325b4-4320-427e-ad10-0b9a4314ef75&TabId=191&ContentItemId=-1'Ahora probé con varios trucos desde la línea de comandos:
curl -c cookie -s https://site.example.org/ -o sitefile -d "tbUsername=myusername&tbPassword=mypassword"Recuperé un archivo de cookies. Pero luego, al intentar abrir una de las páginas web
curl -b cookie -s https://site.example.org/page -o pagefilesolo me redirigió a una página que decía que primero necesito iniciar sesión.
Probé varias variantes de esto, por ejemplo, en la primera solicitud de curl (la de inicio de sesión) puse -d "usuario=minombredeusuario&contraseña=micontraseña" y así sucesivamente, pero nada funcionó.
Tengo entendido que la primera solicitud de curl (para iniciar sesión) no funciona correctamente cuando hay una rutina de JavaScript que verifica mi autenticación.
¿Hay alguna forma de usar curl (o cualquier otro comando CLI) que me permita iniciar sesión en este servidor?
¡Gracias por su amable ayuda!
Jorge