2012-06-18 20 views
7

Tengo un archivo html almacenado en el servidor. Tengo la ruta de URL algo como esto: <https://localhost:9443/genesis/Receipt/Receipt.html >cómo obtener los contenidos de url html en string en java

Quiero leer el contenido de este archivo html que contendría etiquetas, desde la URL, es decir, el código fuente del archivo html.

¿Cómo se supone que debo hacer esto? Este es un código del lado del servidor y no puede tener un objeto de navegador y no estoy seguro de que usar una URLConnection sea una buena opción.

¿Cuál debería ser la mejor solución ahora?

+0

'String content = org.apache.commons.io.IOUtils.toString (nueva URL (" https: // localhost: 9443/genesis/Receipt/Receipt.html ")," utf8 ");' –

Respuesta

2

lo resolvió mediante la primavera añadido el grano en el fichero de configuración de la primavera

<bean id = "receiptTemplate" class="org.springframework.core.io.ClassPathResource"> 
    <constructor-arg value="/WEB-INF/Receipt/Receipt.html"></constructor-arg> 
    </bean> 

entonces léalo en mi método

 // read the file into a resource 
     ClassPathResource fileResource = 
      (ClassPathResource)context.getApplicationContext().getBean("receiptTemplate"); 
     BufferedReader br = new BufferedReader(new FileReader(fileResource.getFile())); 
     String line; 
     StringBuffer sb = 
      new StringBuffer(); 

     // read contents line by line and store in the string 
     while ((line = 
      br.readLine()) != null) { 
      sb.append(line); 
     } 
     br.close(); 
     return sb.toString(); 
0

Para exemple:

 URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html"); 
     URLConnection con = url.openConnection(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
     String l; 
     while ((l=in.readLine())!=null) { 
      System.out.println(l); 
     } 

Se podría utilizar el flujo de entrada de otras maneras, no sólo imprimirlo.

Por supuesto, si usted tiene la ruta de acceso al archivo local, también se puede hacer

InputStream in = new FileInputStream(new File(yourPath)); 
+0

this es un código del lado del servidor y me estaba absteniendo de usar URLConnection. No estoy seguro de si sería un buen enfoque. ¿Que cuentas? –

+0

Este no es el código del lado del servidor, ¿por qué se abstiene de usar URLConnection? –

+1

Si sabe dónde están sus archivos localmente, también puede usar 'FileInputStream' (vea la respuesta extendida). –

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

//... 

URL url = new URL("https://localhost:9443/genesis/Receipt/Receipt.html"); 
url.openConnection(); 
InputStream reader = url.openStream(); 
8
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.net.MalformedURLException; 
import java.net.URL; 
import 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(); 
     } 

    } 
} 
+0

¿Qué tal en la URL del sitio remoto? El problema en realidad en la ubicación del script – NPE

Cuestiones relacionadas