2013-07-30 4 views
-1

Im делает приложение для Android, которое извлекает данные с веб-страницы с кодированным JSON. В тот момент, когда я перехожу на страницу в веб-браузере, он запрашивает у меня аутентификацию сервера, где я ввожу свое имя пользователя и пароль. Как это сделать, когда я делаю httpPost; Он отправит ему имя пользователя и пароль, чтобы я мог получить доступ к этой странице.Антенна HTTPClient Server Authentication

Его это разновидность удостоверению подлинности http://www.wpwhitesecurity.com/wp-content/uploads/2012/08/web-server-authentication-dialogue-box.png

Как мне это сделать? Вот мой код:

  DefaultHttpClient httpClient = new DefaultHttpClient(); 


     HttpPost httpPost = new HttpPost(url); 

     HttpResponse httpResponse = null; 
     try { 
      httpResponse = httpClient.execute(httpPost); 
     } catch (ClientProtocolException e2) { 
      // TODO Auto-generated catch block 
      e2.printStackTrace(); 
     } catch (IOException e2) { 
      // TODO Auto-generated catch block 
      e2.printStackTrace(); 
     } 
     HttpEntity httpEntity = httpResponse.getEntity(); 
     try { 
      is = httpEntity.getContent(); 
     } catch (IllegalStateException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
+0

Вы хотите, чтобы имя пользователя и пароль на сервере с url..isn't it? –

+0

его имя и пароль сервера такого типа http://www.wpwhitesecurity.com/wp-content/uploads/2012/08/web-server-authentication-dialogue-box.png –

ответ

0

Вы можете отправить свое имя пользователя и пароль, как это:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
nameValuePairs.add(new BasicNameValuePair(your_username_key_string, your_username)); 
nameValuePairs.add(new BasicNameValuePair(your_password_key_string, your_password));    

HttpPost oHttpPost = new HttpPost(your_server_url); 
oHttpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
+0

В чем разница между your_username_key_string и your_username? im не уверен, что такое первый? –

+0

Хотя NameValuePair является парой ключ-значение, тогда ваш_username_key_string является ключом в строковом формате, а ваше__имя - это значение в строковом формате этого ключа, который вы хотите отправить –

0

Ok ... так что вы можете передать его:

DefaultHttpClient httpClient = new DefaultHttpClient(); 

String url = "yoururl"+"username="+YourUsername+"password="+Your Paasword; 

    HttpPost httpPost = new HttpPost(url); 

    HttpResponse httpResponse = null; 
    try { 
     httpResponse = httpClient.execute(httpPost); 
    } catch (ClientProtocolException e2) { 
     // TODO Auto-generated catch block 
     e2.printStackTrace(); 
    } catch (IOException e2) { 
     // TODO Auto-generated catch block 
     e2.printStackTrace(); 
    } 
    HttpEntity httpEntity = httpResponse.getEntity(); 
    try { 
     is = httpEntity.getContent(); 
    } catch (IllegalStateException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (IOException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 
0

Добавить свои параметры к должности:

final List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
nameValuePairs.add(new BasicNameValuePair("username", username)); 
nameValuePairs.add(new BasicNameValuePair("password", password)); 
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); 

Это assu что ваша форма входа выглядит так:

input type="text" name="username" 
input type="password" name="password" 
+0

Его имя и пароль сервера, как этот http: //www.wpwhitesecurity. ком/WP-содержание/добавления/2012/08/веб-сервер аутентификации диалоговой-box.png –

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