Разрабатывая свое первое приложение для Android, я думаю, что столкнулся с проблемой.
Мое приложение предназначено для автоматического входа на веб-сайт и запроса на сайте некоторых поисковых терминов и отображения результатов.на экране.Я специально не хочу использовать браузер, поскольку мне нравится избавляться от большинства накладных расходов сайта (изображений, рекламы и т. Д.).
Использование входа в систему на основе форм с помощью HttpURLConnection Я являюсьзастрял в точке, где сервер подтверждает мой вход в систему, но затем проверяет JavaScript и возможности моего браузера и останавливает вход в систему.Сервер возвращается с аккуратно созданной страницей, на которой написано что-то вроде «Эй, спасибо за вход в систему, но вам нужно включить javascript и cookie, до свидания», так что это не ошибка HTTP или соединения или что-то подобное.
Соответствующий код:
InputStream myInputStream =null;
StringBuilder sb = new StringBuilder();
// prepare login fields
sb.append("username=");
sb.append(username);
sb.append("&password=");
sb.append(password);
myurl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) myurl.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
// add the POST form fields to the request
wr.write(sb.toString());
wr.flush();
myInputStream = conn.getInputStream();
wr.close();
Я могу вызвать такое же поведение сервера с Lynx (консольный браузер для Linux, в котором также нет javascript), который дает мне ту же страницу, что я не могу использовать сайт, пока явключите javascript в моем браузере.
В идеале я хотел бы просто обмануть сервер и сообщить ему, что у меня есть поддержка javascript, но я не знаю, возможно ли это с моим текущим методом.
Если это не сработает, каковы мои альтернативы?Должен ли я использовать что-то вроде WebViewClient?Как уже говорилось, мне не нужен графический интерфейс браузера, просто способ извлечь данные из html и сделать что-то с ними в моем приложении.
Заранее спасибо!