How can I send HTTP Basic Authentication headers in Android?
24,415
This is covered in the HttpClient documentation and in their sample code.
Author by
Sheehan Alam
iOS, Android and Mac Developer. i can divide by zero.
Updated on November 17, 2020Comments
-
Sheehan Alam over 3 years
I am not sure how to send HTTP Auth headers.
I have the following HttpClient to get requests, but not sure how I can send requests?
public class RestClient extends AsyncTask<String, Void, JSONObject> { private String convertStreamToString(InputStream is) { /* * To convert the InputStream to String we use the * BufferedReader.readLine() method. We iterate until the * BufferedReader return null which means there's no more data to * read. Each line will appended to a StringBuilder and returned as * String. */ BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } /* * This is a test function which will connects to a given rest service * and prints it's response to Android Log with labels "Praeda". */ public JSONObject connect(String url) { HttpClient httpclient = new DefaultHttpClient(); // Prepare a request object HttpGet httpget = new HttpGet(url); // Execute the request HttpResponse response; try { response = httpclient.execute(httpget); // Examine the response status Log.i("Praeda", response.getStatusLine().toString()); // Get hold of the response entity HttpEntity entity = response.getEntity(); if (entity != null) { // A Simple JSON Response Read InputStream instream = entity.getContent(); String result = convertStreamToString(instream); // A Simple JSONObject Creation JSONObject json = new JSONObject(result); // Closing the input stream will trigger connection release instream.close(); return json; } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } return null; } @Override protected JSONObject doInBackground(String... urls) { return connect(urls[0]); } @Override protected void onPostExecute(JSONObject json) { } }
-
CommonsWare over 13 yearsFYI, your link is for HttpClient 3.x, and Android has HttpClient 4.x built in.
-
Brian Griffey almost 13 yearsSome methods in the documentation don't exist on the android platform.