2013-11-28 1 views
2

Как подключиться к веб-сайту с базовой аутентификацией? Я использую http-компонент. Я где-то видел, что используется ?username=&password=, но это не работает для меня.Как получить данные с веб-сайта с базовой аутентификацией?

Благодаря ответу Ральфа я узнал, что забыл добавить authMethod к URL-адресу. Вот решение:

http://localhost/?authMethod=Basic&authUsername=username&authPassword=password 
+1

Поскольку большинство сайтов используют метод POST для входа в систему .. ваш подход к строкам запроса может не работать. – Sorter

+0

@DeepakMishra POST-аутентификация - это не то же самое, что HTTP BASIC-аутентификация. Это имеет особый технический смысл. –

ответ

0

Глядя на документации http compoment должно работать:

http://...?authMethod=Basic&authUsername=...&authPassword=... 

Будьте осведомлены о последствиях безопасности использования базовой аутентификации без SSL/TLS.

+0

Это работает. Я забыл добавить authMethod = Basic. Благодаря :) – aphex

0

Я предлагаю вам прочитать this страницу и смотреть вниз на заголовок «Проверка подлинности и прокси-сервера». Там вы можете найти следующие документы: authMethod, authUsername и authPassword. Для того, чтобы использовать его, я хотел бы сделать что-то вроде этого

String authUsername = "MyUser"; 
String authPassword = "MyPass"; 
HttpComponent http = new HttpComponent(); 

HttpConfiguration config = http.getHttpConfiguration(); 
config.setAuthMethod(AuthMethod.Basic); 
config.setAuthUsername(authUsername); 
config.setAuthPassword(authPassword); 
http.setHttpConfiguration(config); 
+0

Я видел эту страницу, но я действительно новичок в верблюде apache, и я не понимаю, как установить эти параметры в HttpEndpoint. Можете привести пример. – aphex

+0

Как я могу добавить это в контекст верблюда apache? – aphex

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