Como posso obter HTML conteúdo de uma URL específica no lado servidor usando Java?

StackOverflow https://stackoverflow.com/questions/1414302

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu estou projetando um aplicativo que precisa para carregar conteúdo HTML de uma URL específica no lado servidor usando Java. Como posso resolver isso?

Saudações,

Foi útil?

Solução

Eu tenho usado os Commons Apache HttpClient biblioteca para fazer isso. Dê uma olhada aqui: http://hc.apache.org/httpclient-3.x/tutorial. html

É mais rico em recursos do que o suporte ao cliente JDK HTTP.

Outras dicas

Se tudo que você precisa é ler a url você não precisa de recorrer a bibliotecas de terceiros, Java tem suporte embutido para recuperar urls.


import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL yahoo = new URL("http://www.yahoo.com/");
        URLConnection yc = yahoo.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

Se fosse php, você poderia usar cURL , mas desde que de java, você usaria HttpURLConnection , como eu só descobri sobre esta pergunta:

cURL equivalente em JAVA

java.io.BufferedReader importação; importação Java.io.IOException; importação java.io.InputStreamReader; importação java.net.MalformedURLException; importação java.net.URL; importação java.net.URLConnection;

classe pública URLConetent { public static void main (String [] args) {

    URL url;

    try {
        // get URL content

        String a="http://localhost:8080//TestWeb/index.jsp";
        url = new URL(a);
        URLConnection conn = url.openConnection();

        // open the stream and put it into BufferedReader
        BufferedReader br = new BufferedReader(
                           new InputStreamReader(conn.getInputStream()));

        String inputLine;
        while ((inputLine = br.readLine()) != null) {
                System.out.println(inputLine);
        }
        br.close();

        System.out.println("Done");

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

}

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top