Bu geç bir cevap, ancak bütünlük açısından: tüm faviconları getirmenin% 90'ına yaklaşmak bile oldukça zor.
Bir süre önce bir WordPress eklentisi yazdım: http://wordpress.org/extend/plugins/wp-favicons/ yaklaşmaya çalışan.
a. google favicon, getfavicon vb. favicon depolarına bakarak başlar ...
b. hiçbiri bir simge döndürmezse (bunu döndürdükleri varsayılan simgeyle eşleştirerek kontrol ederim) simgeyi kendim almaya çalışarak başlarım
c. bu, sayfaların üzerinden geçmeyi, aynı zamanda NO otomatik yeniden yönlendirme ile yönlendirmeleri kontrol etmeyi ve 404'leri geçmeyi de içerir çünkü 404'lerde de bir simge mevcut olabilir. Sonunda,% 100 olmaya yaklaşmak için javascript yönlendirmelerinin yanı sıra html başlığındaki yönlendirmeleri de ayrıştırmanız gerekeceği anlamına gelir.
d. Bundan sonra fiziksel görüntü dosyası üzerinde bazı incelemeler yapıyorum, çünkü bazen bazı sunucularda (300.000'den fazla test ettim) dosyalar yanlış mime türü ile geri dönüyor vb.
Kod hala mükemmel değil çünkü ayrıntılarda çılgınlaşıyor, birçok garip durumla karşılaşacaksınız: insanlar yanlış kodlanmış yollar (img'nin kökte OLMADIĞI img / favicon.ico), html çıktısında yinelenen başlıklar, farklı sunucu yanıtları baş ve vücuttan vs ...
getirme kısmının özü burada: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php, böylece onu tersine çevirebilirsiniz, ancak yanıtı doğrulamanın gerçekten yapılmalı (görüntü dosya türü, mime vb. kontrol ediliyor)