2015-09-07 2 views
1

Метод ниже предназначен для получения исходного кода html-страницы заданного URL-адреса, но он возвращает результат в разных кодировках в каждом вызове (в каждом аргументе вызова url такой же), пожалуйста, объясните мне, почему ?HttpUrlConnection read inputstream - другой результат вывода

private String getSourceCode(URL url) { 
    HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 
    conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel MacOS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); 

    return IOUtils.toString(conn.getInputStream()); 
} 
+0

удаленный сайт имеет чувство юмора. – wero

+0

может быть :), когда я проверяю тип ответа на контр-тип ответа всегда UTF-8, но результат другой ... –

+0

Можете ли вы проверить, в чем разница в выходе? –

ответ

1

На самом деле существует несколько возможных причин. Например, за URL-адресом может быть несколько разных серверов с различной кодировкой ответа по умолчанию. Первый вызов может обслуживаться сервером с помощью utf-8, другой может обслуживаться другим сервером с другой кодировкой.

Смежные вопросы