Come posso ottenere contenuto HTML da un URL specifico sul lato server usando Java?
-
06-07-2019 - |
Domanda
Sto progettando un'applicazione che deve caricare contenuto HTML da un URL specifico sul lato server utilizzando Java. Come posso risolverlo?
Saluti,
Soluzione
Ho usato la libreria HttpClient di Apache Commons per fare questo. Dai un'occhiata qui: http://hc.apache.org/httpclient-3.x/tutorial. html
È più ricco di funzionalità rispetto al supporto client HTTP JDK.
Altri suggerimenti
Se tutto ciò di cui hai bisogno è leggere l'URL che non è necessario ricorrere a librerie di terze parti, java ha integrato il supporto per recuperare gli URL.
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, potresti usare cURL , ma dato che è Java, dovresti usare HttpURLConnection , come ho appena scoperto su questa domanda:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection;
URLConetent di classe pubblica { 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();
}
}
}