Me gustaría recuperar el contenido de una url. similares a las pitones:¿Por qué debería usar url.openStream en lugar de url.getContent?
html_content = urllib.urlopen("http://www.test.com/test.html").read()
En los ejemplos (java2s.com) que se ven muy a menudo el siguiente código:
URL url = new URL("http://www.test.com/test.html");
String foo = (String) url.getContent();
la descripción de getContent es la siguiente:
Gets the contents of this URL. This method is a shorthand for: openConnection().getContent()
Returns: the contents of this URL.
En mi opinión eso debería funcionar perfectamente bien. peeero, obviamente, este código no funciona, ya que genera un error:
Exception in thread "main" java.lang.ClassCastException: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream cannot be cast to java.lang.String
Obviamente devuelve un flujoEntrada.
Me pregunto: ¿cuál es el propósito de esta función que no está haciendo lo que parece hacer? ¿Y por qué no hay indicios de esto en la documentación? ¿Y por qué lo vi en varios ejemplos?
¿O estoy obteniendo esto mal?
La solución sugerida (stackoverflow) es usar url.openStream() y luego leer el flujo.