В университете мы должны разработать приложение для Android, которое захватывает наши оценки с веб-сайта.
Мы используем JSoup Framework для захвата и анализа HTML-страниц.Теперь проблема в том, что наш университет использует самозаверяющий сертификат для подключения HTTPS, которому не доверяет более крупный доверенный ЦС.
Я видел эти часто встречающиеся проблемы, некоторые общие решения, но они используютрасширенный DefaultHttpClient с собственным SSLSocketFactory.Эти решения выглядят не очень красиво, есть ли простое красивое решение для этого с помощью JSoup Framework?
private LoginState connect(String username, String password) {
try {
if (isOnline()) {
Log.i(TAG, "Sending POST.");
Connection connection = Jsoup.connect(LOGIN_URL)
.data(USER_FIELD, username).data(PASS_FIELD, password)
.data(LOGIN_BUTTON, "Anmelden")
.data(LOGIN_TYPE, "login").data(PID, "2")
.timeout(DEFAULT_TIMEOUT);
mDocument = connection.post();
mCookies.putAll(connection.response().cookies());
if (isConnected()) {
Log.i(TAG, "Login successful.");
setState(LoginState.LOGIN_SUCCESSFUL);
} else {
Log.i(TAG, "Login failed.");
setState(LoginState.LOGIN_FAILED);
}
} else {
Log.i(TAG, "No Internet Connection.");
setState(LoginState.BAD_CONNECTION);
}
} catch (IOException ex) {
Log.e(TAG, ex.getStackTrace().toString());
setState(LoginState.BAD_CONNECTION);
}
return getState();
}