Come posso ottenere contenuto HTML da un URL specifico sul lato server usando Java?

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

  •  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,

È stato utile?

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:

equivalente cURL in JAVA

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();
    }

}

}

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top