Obtenga una solicitud de inicio de sesión desde una página web

Quiero iniciar sesión programáticamente (usando Java) en un sitio.

(Ya tiene nombre de usuario y contraseña)

Tome este sitio por ejemplo: http://mediaforest-argentina.com/Membership/login.aspx?ReturnUrl=%2fGuests%2fRealtimeCharts.aspx

El código es el siguiente:

...
HttpPost httpost = new HttpPost("The url that I need");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("IDToken1", "username"));
nvps.add(new BasicNameValuePair("IDToken2", "password"));
httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
...

Necesito la URL de la solicitud de publicación. ¿Cómo puedo obtenerlo?

Respuesta 1

Debe examinar el código fuente del sitio web, en particular el formulario de inicio de sesión y ver qué datos está enviando. Mirar<form action="url_here" ...>

En su sitio de ejemplo, esta URL es http://mediaforest-argentina.com/Membership/login.aspx?ReturnUrl=%2fGuests%2fRealtimeCharts.aspx, pero tenga en cuenta que en muchos casos, este ejemplo no es una excepción, hay formas ocultas elementos con datos que necesita enviar con su solicitud. Una mirada rápida revela muchos elementos de forma ocultos:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTEyOTA2MDE5Ng9kFgJmD2QWAgIBD2QWAgIBD2QWAgIED2QWAgIBD2QWAmYPZBYCAg8PEA8WAh4HQ2hlY2tlZGhkZGRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBStjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRSZW1lbWJlck1lBTJjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJExvZ2luMSRBZ3JlZVRlcm1zT2ZVc2FnZQ==">
<input type="hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="HJPLOnv9G-WzfNEMvvC92zihg9ivnWKp_vC_6zv73e3_sOtSB4IhbCtPk3C75el4TZvgalSI2OHCaVGPxWZzWwUGXqo1">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWCQKP7Ne4AgK/1YTzDQLu8I/0DgKh+7V7Ao+F8Z4OAsz3upgFAueno7sBAs/QlOcIAozNmZwP">

Puede haber muchos más, pero realmente no he buscado por mucho tiempo. También tenga en cuenta que puede haber algunos ajustes en los valores realizados por JavaScript antes de publicar el formulario. Por esa razón, le recomiendo que capture la solicitud completa utilizando herramientas de desarrollo en su navegador ( Firebug para Firefox, Herramientas de desarrollo de Chrome para Chrome, etc.) y base la secuencia de comandos de inicio de sesión en eso.

Sé que esto suena muy complicado, pero la razón es que, a menos que el propietario del sitio proporcione una API pública, probablemente no quiera que inicies sesión de esta manera.

Respuesta: 2

Acabo de instalar Eclipse Helios. Una vez que descomprimí y abrí el Eclipse, me pidió mi espacio de trabajo. Seleccioné el camino y dijo ok. Abrió el espacio de trabajo y dijo que el banco de trabajo se estaba cargando y de repente ...

Tengo una API que toma solicitudes y genera JSON devuelto. Ese JSON se genera utilizando el objeto a continuación y mi clase de utilidad. Cuando el JSON se devuelve a la aplicación, en realidad uso el ...

A continuación se muestra mi archivo application.properties spring.datasource.driver-class-name = com.mysql.cj.jdbc.Driver spring.datasource.url = jdbc: mysql: // localhost: 3306 / test? AutoReconnect = true spring.datasource ....

Estoy tratando de implementar una búsqueda lineal usando matrices. Se supone que debe buscar el nombre de una persona, devolver el número respectivo si el nombre existe y devolver -1 si no existe. Tengo pruebas de junit ...