![]() |
problema con Proxy y HttpURLConnection Hola a todos! soy Rui, llevo tiempo siguiendo los foros para dudas y consejos aunque soy nuevo aqui y es la primera vez que escribo:aplauso: asi que me doy por bienvenido!! jeje A ver, tengo un problema con un proxy que intento hacer. Estoy solicitando información a un servidor fuera del dominio de mi aplicación, y por tanto estoy usando un proxy para poder conectar. Necesito hacer una petición a "http://dominioExterno/Aplicacion" pasandole por POST unos parámetros; mi petición es del tipo: "http://miDominio/Proxy" y le paso por POST los parámetros, más otro URL="http://dominioExterno/Aplicacion" para que mi proxy sepa el servidor al que quiero acceder y que él haga una conexión transparente con el contenido de mi petición al sitio externo. En mi proxy leo el request que le mando y los headers para escribirlos en el objeto HttpURLConnection cambiandole el host al del dominio externo: Código: URL url = new URL(request.getParameter("URL"));Código: Código: PrintWriter pw = new PrintWriter(conn.getOutputStream());Código: Código: PrintWriter out = new PrintWriter(response.getOutputStream());Si alguien supiera como arreglarlo...lo hice el viernes pasado y funcionó, pero de pronto el lunes no...y no se si es cosa mia o del servidor externo... Muchas gracias!! P.D.: lo siento si he escrito mucho, pero asi es más claro de explicarlo, de paso si alguién quiere hacer un proxy asi pilla idea de como hacerlo. |
Re: problema con Proxy y HttpURLConnection Por si te sirve de algo o te da alguna idea de ver por que no funciona, asi es como tengo implementado yo un Proxy: http://fisheye5.cenqua.com/browse/we...er.java?r=1.14 S! |
Re: problema con Proxy y HttpURLConnection gracias GreenEyed. Es un poco complicado lo que me has pasado, lo que intento hacer es algo mucho más sencillo pero de todas formas miraré en que puede servirme. de momento la duda sigue estando en el aire por si alguien tiene una idea mejor! jeje Saludos. |
Re: problema con Proxy y HttpURLConnection En cuanto a las dudas no te puedo decir mucho, por que no queda muy claro cual es el problema... Puede ser por que transformas todas las peticiones en GET, a lo mejor el servidor solo permite POST, por que algun parametro falle en la conversion (los parametros con valores multiples no devuelven String sino String[]) por que no te conectas correctamente al servidor... pero con los datos que das es muy dificil saber que pasa. Lo recomendable es ir paso a paso y ver donde falla, ya que si se conecta correctamente a otras paginas, es que algo pasa, pero "por lo visto no se conecta" no es un diagnóstico muy técnico ;-). Mira a ver si se llega a hacer la conexion, que URL estas accediendo y pruebala a"a mano" en el navegador... Suerte! |
Re: problema con Proxy y HttpURLConnection puede que no me explicase bien :D Las peticiones las hago todas POST, ninguna GET. Lo de "que por lo visto no se conecta" es poco técnico, lo se...jeje. Quiero decir que el servidor tomcat externo al que intento mandar las peticiones me da un error interno ya que no puede procesar la petición (al enviarle mal los parámetros pues no reconoce la petición que le hago), la URL a la que envio la información está correcta, el único problema parece ser con los parámetros POST, con lo que el servidor no reconoce bien la petición que intento hacer y por eso me da error. Puede que lo que me comentaste de parámetros con valores múltiples sea el problema... de todas formas intentaré hablar con el compañero que tiene hecho el servidor al que intento conectarme con mi httpProxy y veré que parámetros le envio realmente por si acaso...estoy convencido de que el problema tiene que estar por ahi Envio todo el código de mi proxy por si ayuda en algo: Código: public class HttpProxy extends HttpServlet { |
Re: problema con Proxy y HttpURLConnection ah, el servidor externo al que me intento conectar es de la forma: "http://servidor.dominio:puerto/aplicacion/aplicacionServ" y los datos sobre la operación que quiero realizar, o el mensaje que envio, el destinatario, etc.. se lo tengo que enviar todo por parámetros POST, esa es la api que me ofrece a mi el servidor. y como dije en el primer mensaje, se lo envio esto a mi proxy de la misma manera solo que añadiendo un parámetro más "URL=http://servidor.dominio:puerto/aplicacion/aplicacionServ" para que sepa a donde conectarse. es que esto del puente es muy malo y no se si me olvida algo...jeje Saludos. |
Re: problema con Proxy y HttpURLConnection el problema no me lo da por los parámetros, es por los permisos. Me da error 403 prohibido, solo me deja acceder a páginas de mi dominio, cuando pido a otro dominio falla. El caso es que supuestamente cambio el host de mi nueva petición con HttpURLConnection: Código: for (Enumeration enu=request.getHeaderNames();enu.hasMoreElements();){si se os ocurre algo!Gracias :P Saludos. |
Re: problema con Proxy y HttpURLConnection El 403 te lo da el servidor al que conectas, entonces el problema estaría en que el servidor no te deja conectarte a el desde tu programa. ¿Puede ser que el servidor tenga filtrados los accesos por IP o algo asi? Habria que mirar por que el servidor responde con un 403. Aunque le cambies la cabecera del host, la IP de origen de tu peticion sigue siendo la de tu maquina, donde tienes el proxy. Si esa maquina no tiene permisos... S! |
Re: problema con Proxy y HttpURLConnection Ok, todo solucionado. Ya me parecia raro porque miraba con el wireshark los paquetes que enviaba mi servidor y no veía nada con destino al dominio externo. Resulta que un compañero que trabajaba en otro proyecto, modificó la configuración del Tomcat de nuestro servidor y que usara por defecto otro proxy diferente...y claro, no se dió cuenta que eso afectaba a todas las aplicaciones desplegadas en el Tomcat. Hemos modificado la configuración del Tomcat para que permita a mi proxy hacer las peticiones a los dominios externos y todo funciona bien. Vamos, que no tenía nada mal! jeje era todo culpa de mi compañero:molesto: jaja Muchas gracias GreenEyed! hasta la próxima Chao. |
| La zona horaria es GMT -6. Ahora son las 17:09. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.