Ver Mensaje Individual
  #1  
Antiguo 10-06-2019
guspx guspx is offline
Miembro
 
Registrado: jun 2019
Posts: 17
Reputación: 0
guspx Va por buen camino
Question Intento de Post con usuario y contraseña sin saber la url de login

Hola, estoy intentando acceder a una web con mi nombre de usuario y contraseña usando TIdhttp.Post y creo que usa autenticación Web, pero no estoy seguro porque examinando el código HTML en chrome no aparece ninguna entrada de la forma

Código:
<form method="post" action="url"
Es la web de un periódico que ha implantado suscripción hace muy poco, y lo que me temo es que oculta de alguna forma esos datos, y no sé lo suficiente de este tema para saber si los navegadores los obtienen mediante algún código javascript o como lo hacen, o simplemente es que no usa el procedimiento post y lo hace haciendo get, pero me extrañaría mucho.

Mi código es:

Código:
function Login: string;
var
    Request: TStringList;
    IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
begin
    Result := '';
    IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(self);
    try
        Request := TStringList.Create;
        try
            Request.Add('username=miusername');
            Request.Add('password=mipassword');
            Request.Add('remember=1');
            Request.Add('remember=true'); // hay una casilla de verificación con ese "name" y no se si ponerle 1 o  true
            IDHttp1.IOHandler:= IdSSLIOHandlerSocket;
            IdHTTP1.AllowCookies := True;
            IdHTTP1.HandleRedirects := True;
            IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
            IdHTTP1.Request.Connection := 'keep-alive';
            Result := IdHTTP1.Post({url donde está físicamente el botón de submit}, Request);
        finally
            Request.Free;
        end;
    except
        on E: Exception do ShowMessage(E.Message);
    end;
end;
En el retorno del Post tengo el mismo código HTML que puedo ver en chrome en la página del login.
En Idhttp1.Response.RawHeaders.Text puedo ver que la conexión está cerrada, así que no ha funcionado lo de keep-alive y no hay ninguna cookie, por lo que no hago el login realmente.
Supongo que lo que está mal es que la url que tengo que poner en la instrucción Post no es esa, y sería la que en casi todos los ejemplos que he visto la que vendría en <form action, de haber alguna en el código fuente, pero ya digo que no hay.

Entonces, ¿alguna idea de cómo puedo obtener esa url? Se supone que en algún sitio tiene que estar, para que los navegadores vayan allí, a no ser que los navegadores en sí sean los que se encargan de ocultarla por algún convenio que haya por ahí extraño. Muchas gracias por cualquier idea, si acaso puedo mandar la url por mp.
Responder Con Cita