Лучший способ определить MimeType из строки? - PullRequest
2 голосов
/ 06 августа 2010

У меня есть сканер, который загружает страницы и пытается проанализировать HTML. Одна из проблем, с которой я столкнулся, заключается в том, как правильно определить тип mime-файла HTML.

Прямо сейчас я использую

is = new ByteArrayInputStream( htmlResult.getBytes( "UTF-8" ) );
mimeType = URLConnection.guessContentTypeFromStream(is);

, но он пропускает такие сайты: http://www.artdaily.org/index.asp?int_sec%3D11%26int_new%3D39415 из-за дополнительного пробела между тегом doc и тегом HTML в источнике.

Кто-нибудь знает хороший способ определить, является ли строка HTML или нет? Поиск или какой-либо другой тег не обязательно будет работать из-за текста, встроенного в двоичные файлы, с которыми я могу столкнуться.

спасибо

1 Ответ

1 голос
/ 06 августа 2010

Есть ли у вас контроль над http-соединением, которое использует ваш сканер?Тогда как насчет проверки заголовка ответа HTTP "Content-type".Это один из способов определения типа контента.Я просто быстро проверил artdaily.com, чтобы увидеть, был ли отправлен заголовок типа контента.И есть тот, который имеет значение text / html

...