Segata Sanshiro
05/07/2008, 00:55
Hola chicos, últimamente vengo usando un servicio web que me interesa y tal pero tira demasiado de Flash y navegar por él es algo cansino a veces.
El servicio es bastante simple. Primero hay que loguearse (a través de https, usa TLS para la seguridad, es la única parte que no está en flash) y luego de vez en cuando enviar unas cuantas peticiones GET y POST bastante simples.
Entonces había pensado en hacer un programa en Java bien simple que me facilitara un poco la vida para no pelearme con el interfaz en Flash que han hecho.
El primer problema que me surge: cómo puedo darle a mi programa el nombre de usuario y contraseña y hacer que se loguee para recibir las cookies del servidor? Si fuera una petición POST cutre sin seguridad, como las hay a veces, no habría problemas. Pero es usando TLS. Es posible hacerlo? Qué tengo que averiguar? Luego Java sabrá manejar bien las cookies?
El caso es que como método alternativo (para evitar lo del logueo https) pensé en que podía loguearme desde el navegador usando el formulario que ellos me dan para loguearme, y ver la cookie que recibía. Como el resto de peticiones que se envían al servidor son muy simples, pensé que a lo mejor podía añadirles un campo "Cookie: " y copiar y pegar el contenido de la cookie que he sacado antes usando el navegador (ej.: conexion.setRequestProperty("Cookie", "ASPSESSION blablabla") )
Pero el problema (probablemente derivado de mi ignorancia sobre cómo funcionan las cookies) es que uno de los valores que se envían en el campo Cookie cambia con cada petición. Tiene pinta de ser una fecha en milisegundos desde 1970. Y la aplicación en el servidor es exigente y si el campo no es el que espera deja de funcionar. Y a veces manda error 500 y todo. Podría intentar ajustar manualmente el valor en cada petición, pero dudo que lo consiga.
Bueno, dudo que alguien haya llegado hasta aquí, pero gracias por leerme :D Si pudiera hacer que mi programa se logueara y delegar el tema de las cookies en Java creo que se habría solucionado todo...
El servicio es bastante simple. Primero hay que loguearse (a través de https, usa TLS para la seguridad, es la única parte que no está en flash) y luego de vez en cuando enviar unas cuantas peticiones GET y POST bastante simples.
Entonces había pensado en hacer un programa en Java bien simple que me facilitara un poco la vida para no pelearme con el interfaz en Flash que han hecho.
El primer problema que me surge: cómo puedo darle a mi programa el nombre de usuario y contraseña y hacer que se loguee para recibir las cookies del servidor? Si fuera una petición POST cutre sin seguridad, como las hay a veces, no habría problemas. Pero es usando TLS. Es posible hacerlo? Qué tengo que averiguar? Luego Java sabrá manejar bien las cookies?
El caso es que como método alternativo (para evitar lo del logueo https) pensé en que podía loguearme desde el navegador usando el formulario que ellos me dan para loguearme, y ver la cookie que recibía. Como el resto de peticiones que se envían al servidor son muy simples, pensé que a lo mejor podía añadirles un campo "Cookie: " y copiar y pegar el contenido de la cookie que he sacado antes usando el navegador (ej.: conexion.setRequestProperty("Cookie", "ASPSESSION blablabla") )
Pero el problema (probablemente derivado de mi ignorancia sobre cómo funcionan las cookies) es que uno de los valores que se envían en el campo Cookie cambia con cada petición. Tiene pinta de ser una fecha en milisegundos desde 1970. Y la aplicación en el servidor es exigente y si el campo no es el que espera deja de funcionar. Y a veces manda error 500 y todo. Podría intentar ajustar manualmente el valor en cada petición, pero dudo que lo consiga.
Bueno, dudo que alguien haya llegado hasta aquí, pero gracias por leerme :D Si pudiera hacer que mi programa se logueara y delegar el tema de las cookies en Java creo que se habría solucionado todo...