Utilice httpClient para iniciar sesión. Se encuentran muchos códigos en línea, pero son auténticos. La confiabilidad no es alta. Encontré a alguien que inició sesión en Kaixin.com y era obvio que usé la cookie incorrecta. Es muy importante publicar un código en Internet, y el mismo código está en todas partes y no puedo decir si es original. o no, si es bueno y útil, olvídalo, si no, ¿para qué sirve? ¿Atraer críticas?
Debido a necesidades laborales, tuve que capturar datos de otros sistemas. Después de estudiar un poco, elegí httpClient+htmlParser. Dada su reputación, es relativamente fácil hacer trampa.
No entraré en los conceptos básicos. Creé un cliente y un método nuevos, agregué un nombre de usuario y una contraseña e inicié sesión. No está bien. Agregué varios encabezados y parámetros de solicitud e intenté todo lo que pude encontrar, pero el resultado sigue siendo el mismo. La contraseña incorrecta también devuelve 200, porque cuando encontró el jsp, pensó que era 200 y no inició sesión en absoluto. Y no debería ser 200, debería ser 302, que definitivamente se reenviará después de iniciar sesión. No puedo entender por qué 200. Busqué y busqué en csdn y finalmente vi una publicación ( http://topic.csdn.net/u/20090105/17/dd8c1875-934e-4049-b5fe-706d78f6cb75.html ) que me despertó de mi sueño. El sistema j2ee finalmente ejecuta la solicitud por acción. Es inútil enviar la solicitud a login.jsp para su ejecución. La acción de inicio de sesión debe enviarse al inicio de sesión y el sistema webwork accede a la acción y luego devuelve jsp. A diferencia de PHP, son todas páginas y no existe el concepto de "backend" como J2EE.
Cambie la URL a acción y el problema desaparecerá. También será 302 y puedo ver que se reenvía.
PD: Lo escribí yo mismo para iniciar sesión en Kaixin.com y me di un 408, pero probablemente no tenga tiempo para estudiarlo.
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/sysmaid/archive/2009/12/30/5105039.aspx.