Como posso obter HTML conteúdo de uma URL específica no lado servidor usando Java?
-
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,
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:
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();
}
}
}