Как мне преобразовать struct System.Byte byte [] в объект System.IO.Stream в C #?

Это поздний ответ, но для полноты: довольно сложно получить даже около 90% выборки всех favicons.

Некоторое время назад я написал плагин WordPress: http: //wordpress.org/extend/plugins/wp-favicons/, который пытается приблизиться.

a. он начинается с просмотра репозиториев favicon, таких как favicons google, getfavicons и т. д. ...

b. если ни один из них не возвращает значок (я проверяю это, сопоставляя значок по умолчанию, который они возвращают). Сначала я попытаюсь получить значок сам

c. это включает в себя перемещение страниц, но также проверку перенаправления с NO autoredirect, а также перемещение 404, потому что также на 404 может присутствовать значок. В конце это означает, что вам придется анализировать также перенаправления в заголовке html, а также перенаправления javascript, чтобы приблизиться к 100%

d. после этого я делаю некоторые проверки в файле физического изображения, потому что иногда иногда на некоторых серверах (я тестировал 300 000+) файлы возвращаются с неправильным типом mime и т. д.

Код по-прежнему не идеален, потому что в детали, которые он сходит с ума, вы найдете много странных ситуаций: у людей есть ошибочно закодированные пути (img / favicon.ico, где img НЕ в корне), дубликаты заголовков в html-выходе, разные ответы сервера от головы и тела и т. д. .

ядро ​​получаемой части находится здесь: http://plugins.svn.wordpress.org/wp-favicons/trunk/includes/server/class-http.php , поэтому вы можете перепроектировать его, но имейте в виду, что проверка действительности должна выполняться (проверка образа файла, mime и т. д.)

672
задан Olorunfemi Ajibulu 23 April 2018 в 12:50
поделиться