HttpURLConnection - „https: //” vs. „http: //”
Próbuję uzyskać na przykład ikonę adresu URL, który użytkownik wprowadza
_url = "google.com";
Używam HttpUrlConnection, aby pobrać bitmapę ikony ulubionych z/favicon.ico
rozszerzenie z adresu URL hosta.
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;
Jednakże, ponieważ użytkownik prawdopodobnie nie określihttp://
lubhttps://
, Musiałbym to dodać sam. Mam problem, jeśli dodamhttp://
przed adresem URL wszystko działało dobrze, ale dlahttps://
, niektóre strony zwracają favicon, inne po prostu dają mi wartość null. Jak dowiedzieć się, która strona jest używanahttps
? Czy powinienem po prostu dodaćhttp://
dla każdego przypadku? Czy są jakieś strony internetowe, które ograniczają się do ściślehttps
i użyłby wartości nullhttp
?