2015-05-31 3 views
0

Так что я пытаюсь использовать HtmlUnit для перехода к URL-адресу, но как только вы заходите на этот URL-адрес, он загружает json-файл относительно данных, которые вы хотите. Не знаю, как это сказать, но в основном в HtmlUnit, как я могу получить результат из загруженного файла.HtmlUnit Ответ на страницу (Загрузить файл)

Я посасывать объяснить здесь выглядят

пытается проверить наличие пользователей этой

private static final String URL = "https://twitter.com/users/username_available?username="; 

...

HtmlPage page = webClient.getPage(URL + users[finalUsersIndex]); 

так, что в основном создает новую страницу для каждого имени пользователя вещь URL + имя пользователя возвращает json-файл доступности пользователя. Я знаю, как читать файл JSON, но проблема заключается в

java.lang.ClassCastException: com.gargoylesoftware.htmlunit.UnexpectedPage 
cannot be cast to com.gargoylesoftware.htmlunit.html.HtmlPage 

Я понимаю, что на этой линии

HtmlPage page = webClient.getPage(URL + users[finalUsersIndex]); 

Я предполагаю, что нужно создать новую страницу для ответа, но как бы я так как он автоматически загружает файл, а не сам по себе, нажав кнопку, которая загружает файл. (Поправьте меня, если им неправильно)

К сожалению 4 утра

ответ

2

Как указывает его название, HTMLPage представляет собой страницу, содержащую HTML. JSON не является HTML.

Показатель the documentation;

DefaultPageCreator создаст страницу в зависимости от типа содержимого ответа HTTP, в основном HTMLPage для содержания HTML, XmlPage для содержания XML, для другого текстовой страницы содержания текста и UnexpectedPage для чего-нибудь еще.

(акцент мой).

Итак, в качестве исключения, которое вы видите, поведение, которое вы наблюдаете, является документированным поведением: вы получаете страницу, которая не является ни HTML, ни XML, ни текстом, поэтому вы получаете UnexpectedPage. Таким образом,

Ваш код должен быть:

UnexpectedPage page = webClient.getPage(URL + users[finalUsersIndex]); 
+1

Ах Im ненормальный. Я понимаю, что JSON - это не HTML, но задавался вопросом, какой класс использовать для замены HtmlPage. Спасибо, чувак, отлично работающий. – 0x2B

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