2012-06-19 3 views
0

Я хочу добавить заголовок аутентификации в свой запрос. Я использую DefaultHttpClient из Apache httpclient 4.0.Не удается выполнить аутентификацию с помощью DefaultHttpClient

я обнаружил, что это делается так:

URI uri = new URI("http://www.bla.bla/folder/"); 

String host = uri.getHost(); 
int port = uri.getPort(); 

httpClient.getCredentialsProvider().setCredentials(
     new AuthScope(host, port, AuthScope.ANY_SCHEME), 
     new UsernamePasswordCredentials("myuser", "mypassword") 
     ); 

Это выполняется и даже с помощью отладчика я вижу некоторые учетные данные переменные из HTTPClient устанавливаются в момент делать запрос. Но я проверяю веб-трафик с Чарльзом, и нет заголовка проверки подлинности.

Содержание Варс:

хозяин: www.bla.bla

порт: -1

Btw. Я включил Чарльз в качестве прокси-сервера, чтобы увидеть заголовки запроса, с:

HttpHost proxy = new HttpHost("127.0.0.1", 8888, "http"); 
httpParameters.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); 

Я думаю, что не должно быть изменений моих заголовков, не имеет смысла для Webproxy ... в любом случае, если отключить прокси-Заткнись также не работает (хотя я не вижу содержимого заголовка, но я полагаю, что это та же самая причина).

пытался также с помощью запроса перехватчик, как описано в посте Softhinker.com здесь: How can I send HTTP Basic Authentication headers in Android?

И я получаю точно такой же запрос, без заголовка аутентификации.

Что я делаю неправильно?

Заранее спасибо.

+0

Оба объяснения и решения рассматриваются в этой теме ... http://stackoverflow.com/questions/18108783/apache-httpclient-doesnt-set-basic-authentication-credentials –

ответ

0

У меня есть рабочая настройка заголовка «вручную» в запросе.

request.setHeader(new BasicHeader("Authorization", authstring)); 
Смежные вопросы