Аутентификация HTTP в J2ME

Это все относительно, но ознакомьтесь с принципом единой ответственности:

В объектно-ориентированном программировании принцип единой ответственности гласит, что каждый объект должен иметь одну ответственность эта ответственность должна быть полностью заключена в класс

Эмпирическое правило, которое я придумал для SRP: подсчитайте количество использований / импорт / включений. Если в вашем классе более полудюжины, есть большая вероятность, что вы нарушаете SRP. Но это и относительная идея. Определенные образцы, такие как фасады, нарушают это правило по необходимости. Например. как в упрощении и сокрытии сложного подсистемы.

7
задан gnat 25 October 2011 в 15:49
поделиться

2 ответа

Возможно, J2ME не поддерживает базовую аутентификацию, я могу ошибаться . Если вы хотите попробовать просто установить заголовок аутентификации в запросе, вам, вероятно, понадобится другой заголовок, отличный от того, который вы используете.

Из rfc :

Для получения авторизации клиент отправляет идентификатор пользователя и пароль, разделены одним двоеточием (":") внутри base64 [7] закодированная строка в учетных данных.

[...]

Если пользовательский агент хочет отправить идентификатор пользователя «Aladdin» и пароль "open sesame", будет использоваться следующее поле заголовка:

  Авторизация: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

Просто создайте строку «Пользователь: Пароль», закодируйте ее в base64 и затем вызовите setRequestProperty («Авторизация», «Базовый» + encodedUserAndPass)

11
ответ дан 6 December 2019 в 14:09
поделиться

Невероятно, это работает как шарм:

String url = "hppt://www.example.com";
HttpConnection hc = (HttpConnection) Connector.open(url);
hc.setRequestProperty("Authorization", "Basic "+ BasicAuth.encode("user", "password"));
3
ответ дан 6 December 2019 в 14:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: