Я пытаюсь загрузить мобильную версию веб-страницы с помощью java-программы для извлечения небольшого количества информации с веб-страницы.Имитация мобильного веб-браузера из java-программы
В Firefox, после добавления переключателя плагин агента пользователя, я добавил новый пользовательский агент со значением
"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413"
После этого, если я пытаюсь загрузить http://www.bbc.co.uk/, мобильная версия веб-страницы успешно загружен.
Но я пытаюсь сделать то же самое с помощью программы Java с использованием библиотеки апачского HTTPClient, установив User-Agent
, как указано ниже:
HttpClient httpclient = new DefaultHttpClient();
HttpProtocolParams.setUserAgent(httpclient.getParams(),
"Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/110.07.127; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413");
Но я не получаю мобильную версию ту же ссылку.
Я надеюсь, что перенаправление произойдет автоматически здесь, и я буду получать мобильную версию страницы при изменении пользовательского агента.
Не могли бы вы помочь мне решить эту проблему?
Включить HttpClient протоколирование (http://hc.apache.org/httpcomponents-client-ga/logging.html) и сообщение r esults. – fglez
Теперь я обнаружил, что проблема связана с сайтами, которые устанавливают window.location для перенаправления веб-страницы в ответ .. каким-то образом apache httpclient-4.1.3 не обрабатывает этот параметр автоматически даже после настройки перенаправления HttpClientParams.setRedirecting (params, true); DefaultHttpClient httpclient = new DefaultHttpClient (params); –