HttpURLConnection - "https: //" frente a "http: //"
Estoy intentando obtener el favicon de la URL que ingresa el usuario, por ejemplo
_url = "google.com";
Utilizo HttpUrlConnection para obtener el mapa de bits del favicon de la/favicon.ico
extensión de la url host.
String faviconString = Uri.parse(_url).getHost() + "/favicon.ico";
URL faviconUrl = null;
Bitmap favicon = null;
try
{
faviconString = "http://" + faviconString;
faviconUrl = new URL(faviconString);
HttpURLConnection connection = (HttpURLConnection) faviconUrl.openConnection();
connection.setDoInput(true);
connection.connect();
favicon = BitmapFactory.decodeStream(connection.getInputStream());
}
catch (IOException e)
{
e.printStackTrace();
}
return favicon;
Sin embargo, dado que el usuario probablemente no especificaráhttp://
ohttps://
, Tendría que agregarlo yo mismo. El problema que tengo es que si agregohttp://
delante de la url, todo funcionaría bien, pero parahttps://
, algunos sitios devolverían el favicon, otros solo me darían nulo. ¿Cómo puedo saber qué página utiliza?https
? Debería añadirhttp://
para cada caso? ¿Hay algún sitio web que restringe estrictamentehttps
y volvería nulo para usarhttp
?