Como fazer uma conexão HTTP em java?

Sou novato e estou precisando fazer uma conexão HTTP em java e gostaria de que se alguém tiver um exemplo detalhado de como se faz isso por favor me responda, se for possível explicar, desde já agradeço.

De uma olhada no HTTPClient, em http://jakarta.apache.org/commons/httpclient/

O manual dele eh bom. Abaixo segue um exemplo:

HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://www.uol.com.br");
client.executeMethod(method)
System.out.println(new String(method.getResponseBody()));

Isso vai conectar no UOL e pegar o conteudo da home page deles.

Rafael

De uma lida neste artigo do GUJ

http://www.guj.com.br/java.tutorial.artigo.5.1.guj

[]'s

Seguindo a linha do Rafael olha esse exemplo

http://jakarta.apache.org/commons/httpclient/tutorial.html

Pessoal onde posso baixar as libs para usar este


HttpClient client = new HttpClient();   
            HttpMethod method = new GetMethod("http://www.uol.com.br");   
            client.executeMethod(method);   
            System.out.println(new String(method.getResponseBody())); 

O nome dessa API chama-se Jakarta Commons Http Client. O link para o site do projeto está no post do Rafael Steil.

[]'s.

Não encontrei qual pagina vc baixou?

http://hc.apache.org/downloads.cgi

¬¬’

[]’

Valeu

Alguem ja passou por isto?

  • I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
  • Retrying request
    java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at java.net.Socket.<init>(Unknown Source)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
    at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
    at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)

Bueno povo desenvolvi a seguinte classe:

      GetMethod metodo = null;
        HttpClient cliente;
        String htmlResposta = "";
        int status;
        try {
            cliente = new HttpClient();
            metodo = new GetMethod("http://www.google.com");
            status = cliente.executeMethod(metodo);
            System.out.println("DEBUG 1... status "+status);
            if (status == HttpStatus.SC_OK) {
                System.out.println("DEBUG IF... status "+status);
                htmlResposta = metodo.getResponseBodyAsString();
                System.out.println("DEBUG IF... htmlResposta "+htmlResposta);
            }
            else {
                System.out.println("Erro: " + status + " - " + HttpStatus.getStatusText(status));
            }
        } catch (IOException e) {
               System.err.println("Erro de I/O: " + e.getMessage());
        }    finally {
              metodo.releaseConnection();
        }

e estou enfrentando o seguinte problema:

  • I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect

Pesquisando encontrei muitos casos para este mais nenhuma solução, alguem ja passou por isto?