HttpURLConnection - «https: //» против «http: //»
Я пытаюсь получить значок URL, который вводит пользователь, например
_url = "google.com";
Я использую HttpUrlConnection, чтобы получить растровое изображение значка из/favicon.ico
расширение от хоста URL.
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;
Однако, поскольку пользователь, вероятно, не будет указыватьhttp://
или жеhttps://
Я бы добавил это сам. Проблема в том, что если я добавлюhttp://
перед URL все будет работать нормально, но дляhttps://
некоторые сайты возвращают значок, другие просто дают мне ноль. Как я узнаю, какую страницу используетhttps
? Должен ли я просто добавитьhttp://
для каждого случая? Есть ли сайты, которые строго ограничиваютhttps
и вернул бы ноль для использованияhttp
?