2

ウェブサイトの 32px favicon.ico を取得しようとしていますが、取得する応答は 16px の favicon です。これは、スマートフォンで取得しようとしているからだと思いますが、http 請願のユーザー エージェントを次のように変更しようとしています。ここに結果はありません私のコードです:

DefaultHttpClient client = new DefaultHttpClient();
            String baseUrl = getBaseUrl(url);
            HttpGet httpGet = new HttpGet(baseUrl + "/favicon.ico");
            httpGet.setHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19");
            HttpResponse httpResponse = null;
            try {
                httpResponse = client.execute(httpGet);
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }catch (NullPointerException e) {
                e.printStackTrace();
            }
            InputStream is = null;
            try {
                is = (java.io.InputStream) httpResponse.getEntity().getContent();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (NullPointerException e) {
                e.printStackTrace();
            }
            Drawable favicon = Drawable.createFromStream(is, "src");
            final BitmapDrawable bd = (BitmapDrawable) favicon;

それを取得する方法はありますか?ありがとう

4

2 に答える 2

1

.icoファイルには複数の画像を含めることができます。したがって、取得したファイルには 16x16 の画像32x32 の画像favicon.icoが含まれている可能性があります。

コマンド ライン ツールを使用して、ファイルicotoolを分析できます。.ico

# On Ubuntu
sudo apt-get install icoutils
icotool -l favicon.ico
--icon --index=1 --width=16 --height=16 --bit-depth=32 --palette-size=0
--icon --index=2 --width=32 --height=32 --bit-depth=32 --palette-size=0
--icon --index=3 --width=48 --height=48 --bit-depth=32 --palette-size=0
# 3 pictures in this favicon.ico file

Windows では、.icoデフォルトのビューア (ファイルをダブルクリックするだけ) でファイルを開くと、ビューアでファイルに含まれる複数の画像をナビゲートできます。解決策は出力されませんが、少なくとも、奇妙な動作で何が起こっているかについての手がかりが得られます.

ここに画像の説明を入力

于 2014-03-17T10:21:41.357 に答える