[RESOLVIDO] Pegar o retorno de uma chamada fora do meu dominio

1 resposta
jomello_br

Olá amigos, preciso mandar uns dados via GET (isso eu já sei) e pegar o retorno, só que essa URL esta fora do meu dominio, pensei em um iFrame, mas não rola.

Alguem tem alguma ideia que possa me ajudar???

Desde já agradeço qualquer ajuda

Obrigado e abraços

Jomello

1 Resposta

jomello_br

Olá amigos, eu consegui resolver a minha questão, segue abaixo a solução para quem precisar:

Submeter a pagina com um parametros que contenha a URL externa Exemplo:

www.seusite.com.br/nomeServlet?host=www.google.com.br

Dentro do Servlet, nesse exemplo estou retornando para dentro de uma DIV, mas voce pode fazer o que achar necessario:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);

        StringBuilder stringBuilder = new StringBuilder();
        HttpURLConnection connection = null;

        try {
            URL url = new URL(request.getParameter("host"));
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestProperty("Accept-Charset", "ISO-8859-1");
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Content-Type", "text/plain");
            connection.connect();

            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

            String line = null;
            
            while ((line = reader.readLine()) != null) {
                stringBuilder.append(line + "\n");
            }
            reader.close();
        } catch (Exception e) {
            InputStream error = ((HttpURLConnection) connection).getErrorStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(error));
            String line = null;
            while ((line = reader.readLine()) != null) {
                stringBuilder.append(line + "\n");
            }
            reader.close();
            e.printStackTrace();
        }
        response.setContentType("text/html");
     
        response.getWriter().write(stringBuilder.toString());
    }

Segue o link do Cristiano que encontrei e explica de forma mais detalhada: http://cristianopires.blogspot.com.br/2011/12/como-carregar-um-site-externo-dentro-de.html

Abraços

Jomello

Criado 11 de abril de 2012
Ultima resposta 13 de abr. de 2012
Respostas 1
Participantes 1