Ler conteudo gerado por uma URL

7 respostas
S

boa tarde galera !!!

seguinto eu tenho que fazer um projeto, que leia o conteudo retornado
por uma url.

ex: http://www.exemplo.com.br/teste

essa url gera uma saida em html, eu presiso de alguma alguma maneira
ler esse conteudo gerado e fazer um processamento aqui.

alguem pode me dar uma ideia ?? vlew amigos…

7 Respostas

kaique

Abre um Socket nese endereço na porta 80 e depois lê o inputStream do socket. Assim tu vai conseguir ler todo o conteúdo html da response…

[]'s.

S

é que eu tenho de passar alguns parametros para realizar uma consulta na pagina,
passo junto com a url, você tem algum exemplo de como faço isso passando esses parametros ?

ex: www.exemplo.com.br/teste?id=1&email=[email removido]

isso me gera uma resposta, to meio perdidão pra saber como manipular isso…vlew

ddduran

você pode ler o conteudo de uma URL como se fosse um arquivo de texto e talz

URL yahoo = new URL("http://www.yahoo.com/");
    BufferedReader in = new BufferedReader(new InputStreamReader(yahoo
        .openStream()));

pronto :slight_smile:

kaique

Vou postar aqui um código que fiz uma vez para uma cadeira da faculdade...
Deve fazer a mesma coisa que o exemplo acima, só que de uma maneira diferente. Nesse exemplo eu usei Sockets...

/**
 * Sockets
 * Created on 06/05/2007.
 */
package br.unifor.sockets.tcp;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

/**
 * Classe que conecta em um servidor através do protocolo TCP e imprime o
 * conteúdo da resposta de uma requisição feita.
 * 
 * @author Carlos Henrique ([email removido])
 * @version 1.0
 */
public class HTTPTransmition {

	public static void main(String[] args) {

		try {
			final String SERVER_ADDRESS = "www.opovo.com.br";
			/*final String REQUEST = "GET /opovo/img_capa/capa.pdf HTTP/1.0\r\n\n";*/
			final String REQUEST = "GET /index.html HTTP/1.0\r\n\n";

			Socket socket = new Socket(SERVER_ADDRESS, 80);

			/* Mandando a requisição para o servidor */
			OutputStream outputStream = socket.getOutputStream();
			outputStream.write(REQUEST.getBytes());
			outputStream.flush();
			
			/* esperando o servidor mandar a resposta da requisição */
			Thread.sleep(1000);

			/* Lendo a resposta enviada pelo servidor */
			InputStream inputStream = socket.getInputStream();
			byte[] response = new byte[inputStream.available()];
			inputStream.read(response);

			outputStream.close();
			inputStream.close();
			socket.close();

			System.out.println(new String(response));
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}

	}

}

[]'s.

S

ta funfando, poren como faço com o problema de sertificação digital…

HTTPS:// ??

tá me lançando uma

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

como faço galera ??

peczenyj

Da uma olhada no apache httpclient

http://jakarta.apache.org/httpcomponents/httpclient-3.x/

rogeriop80

soudaniel_01:
ta funfando, poren como faço com o problema de sertificação digital…

HTTPS:// ??

tá me lançando uma

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

como faço galera ??

Está dando esse erro porque a URL que você está acessando tem um certificado SSL, vide que ela começa com https:// para você conseguir ler essa url você deve ter a chave publica do certificado da URL instalada na sua JVM.

Abraço.

Criado 2 de outubro de 2007
Ultima resposta 2 de out. de 2007
Respostas 7
Participantes 5