Comment obtenir du contenu HTML à partir d'une URL spécifique côté serveur à l'aide de Java?
-
06-07-2019 - |
Question
Je suis en train de concevoir une application devant charger du contenu HTML à partir d'une URL spécifique côté serveur à l'aide de Java. Comment puis-je le résoudre?
Cordialement,
La solution
J'ai utilisé la bibliothèque Apache Commons HttpClient pour ce faire. Regardez ici: http://hc.apache.org/httpclient-3.x/tutorial. html
Il est plus riche en fonctionnalités que le support du client HTTP JDK.
Autres conseils
Si tout ce dont vous avez besoin est de lire l'URL dont vous n'avez pas besoin de recourir à des bibliothèques tierces, Java dispose d'un support intégré permettant de récupérer les 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();
}
}
Si c'était php, vous pourriez utiliser cURL , mais comme c'est java, vous utiliseriez HttpURLConnection , comme je viens de le découvrir cette question:
import java.io.BufferedReader; importer java.io.IOException; importer java.io.InputStreamReader; importer java.net.MalformedURLException; importer java.net.URL; importer java.net.URLConnection;
public class 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();
}
}
}