Pregunta

Estoy intentando iniciar sesión en un sitio usando CookieAwareClient (código aquí: C # cliente Web de registro en sitio web). Cuando intento acceder al sitio usando mi navegador web, Tengo alrededor de 10 galletas. Si deshabilitar JavaScript e intente identificarse, consigo 5 (activeTab, identificación, mcim, PHPSESSID, nombre de usuario). Pero cuando intento iniciar sesión con el CookieAwareClient la única cookie de ser salvado es PHPSESSID.

¿Cuál podría ser la razón por la que no se están guardando las otras cookies? Sé que el cliente Web no ejecuta JavaScript pero los otros 3 galletas que se generan cuando JavaScript no está habilitado no están siendo preservado tampoco.

¿Fue útil?

Solución

En primer lugar, una pregunta obvia: antes de cumplir fuera de script en el navegador y trató de entrar, qué eliminar las cookies al primero? Si no es así, eliminar cookies y vuelve a intentarlo.

Suponiendo que hizo eliminar cookies del primero y todavía tiene 5 nuevas galletas después de un inicio de sesión no compatibles con scripts, a continuación, al mirar los nombres de galletas que faltan supongo que su CookieAwareClient no está registrando actualmente con éxito en el usuario. La falta de una cookie "nombre de usuario" es lo que cabe esperar si el inicio de sesión no tuvo éxito. Cuando nos fijamos en el código HTML devuelto por la solicitud de acceso, no se vea como un inicio de sesión correcto? O se trata de regresar algún tipo de error?

Si el HTML devuelto es un inicio de sesión correcto, entonces la próxima posible culpable miraría serían las solicitudes adicionales que se ejecutan por el navegador, pero no ejecutado por el código. Por ejemplo, la página de inicio de sesión podría tener una META REFRESH, que redirige a otra página (que establece una cookie). O la página de inicio de sesión podría contener un IFRAME, IMG, SCRIPT, etc., que a su vez establece una cookie. Para diagnosticar esto, utilizar Fiddler, Firebug, u otra herramienta similar para ver qué peticiones HTTP específica están siendo ejecutados por el navegador como parte del proceso de inicio de sesión. Asegúrese de que el envío a la página de inicio de sesión está haciendo todo el establecimiento de galleta, y si no, entonces usted tendrá que añadir peticiones adicionales a su código después del primer inicio de sesión.

Si resulta que sólo hay una petición HTTP cookies de ajuste, entonces el problema es likley ser los datos HTTP POST que encabezados o de su código está enviando (o no enviar) al servidor. El navegador está enviando probabilidades diferentes encabezados o datos POST. El diagnóstico de esto también requiere Firebug, violinista, o una herramienta similar para comparar los datos de las cabeceras HTTP y POST que un navegador está enviando frente a lo que el código está enviando.

Si ninguna de estas sugerencias de trabajo, colocar un comentario y podemos iterar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top