¿Es posible iniciar sesión en un sitio a través de una aplicación web, incluso si ese sitio no tiene una API?

No está 100% claro lo que estás buscando hacer. Si desea que el usuario inicie sesión en wholesalesite.com y luego wholesalesite.com elimine información de otros sitios y la muestre al usuario de alguna manera, no hay problema: el código de raspado y otra información de configuración residiría en wholesalesite.com .

Si lo que realmente está buscando es algún tipo de esquema de autenticación federado mediante el cual un inicio de sesión en wholesalesite.com iniciaría sesión automáticamente en otros sitios (llámelos a.com y b.com), transfiriendo sus propios datos. que reside en a.com y b.com en una página en wholesalesite.com, luego las cosas se vuelven un poco más complicadas. Puede almacenar las credenciales de inicio de sesión del usuario para a.com y b.com en wholesalesite.com, pero esta es una seguridad extraordinariamente pobre. Es poco probable que los usuarios quieran simplemente entregarle sus contraseñas para a.com y b.com, y estarían justificados en esto porque facilitaría que el propietario de wholesalesite.com se haga cargo de sus cuentas en a. com y b.com.

Afortunadamente, este escenario no es infrecuente, y hay una forma segura de hacerlo. Se llama OAuth. OAuth ofrece a los sitios la capacidad de delegar la autenticación a otros sitios. Tiene muchas ventajas sobre el uso compartido de contraseñas, entre ellas la capacidad de revocar permisos a un sitio delegado sin tener que cambiar la contraseña, la capacidad de compartir un subconjunto de privilegios (por ejemplo, leer pero no escribir datos). Pero la gran ventaja de OAuth es que el usuario no tiene que compartir contraseñas con a.com y b.com para usar sus datos en wholesalesite.com.

La desventaja es que los tres sitios tendrían que apoyar a OAuth para que esto funcione. Si entiendo su situación correctamente, a.com y b.com tendrían que ser proveedores de OAuth y wholesalesite.com sería un consumidor de OAuth.

Entiendo lo que quieres hacer y, sí, es completamente posible. Trabajo para screen-scraper.com y hacemos este tipo de cosas para un puñado de clientes sin ningún problema.

Funciona mucho como lo describiste. Cuando un usuario inicia sesión en su sitio, se consultan sus credenciales para cada cuenta a la que está configurado para acceder. Esas credenciales se pasan al raspador de pantalla. screen-scraper toma las credenciales y los registros en cada uno de los sitios de destino. La información básica, como los detalles de la cuenta o el estado de la cuenta, también se puede recuperar en ese momento.

El usuario puede interactuar con su sitio web y extraer datos de cualquiera de los sitios web de destino simultáneamente. Supongamos que ha configurado un panel de control en el que todas las transacciones de su cuenta se pueden ver en un solo lugar. El raspador de pantalla puede hacer que eso suceda.

Suponga que ofrece a sus usuarios la capacidad de realizar pagos en sus cuentas desde su sitio web. screen-scraper puede facilitar la interacción entre su sitio web y los diferentes sitios web de destino para manejar el inicio de sesión, publicar el pago, recuperar la confirmación y devolverlo a su sitio web.

Estaré encantado de discutir esto más a fondo con usted. No dude en llamarme o enviarme un correo electrónico.

Scott Wilson
Vicepresidente de ventas
scottw (äł) screen-scraper.com
screen-scraper.com
(800) 672-0113 x333

Por supuesto, puede usar Selenium (marco de prueba)

su API imitará un navegador real (incluso ejecutará javascript, etc.)