How to add request header to HttpClient request?

I need to add a non-standard request header that has the following format: (X-MMP-Params: fs = 640x0). I am using HTTPClient here is the code:

HttpClient client = new DefaultHttpClient(); String getURL = "http://example.com"; HttpGet get = new HttpGet(getURL); get.setHeader("X-MMP-Params","fs=640x0"); // I set my request header right here HttpResponse responseGet = client.execute(get); 

Is this the right way to do this?

+6
source share
1 answer

The request request is executed using HttpGet:

 public static InputStream getInputStreamFromUrl(String url) { InputStream content = null; try { HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(new HttpGet(url)); content = response.getEntity().getContent(); } catch (Exception e) { Log.("[GET REQUEST]", "Network exception", e); } return content; } 

The POST request is executed using HttpPost:

 public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } } 

I personally recommend trying Retrofit as follows

 public interface YourUsersApi { //You can use rx.java for sophisticated composition of requests @GET("/users/{user}") public Observable<SomeUserModel> fetchUser(@Path("user") String user); //or you can just get your model if you use json api @GET("/users/{user}") public SomeUserModel fetchUser(@Path("user") String user); //or if there are some special cases you can process your response manually @GET("/users/{user}") public Response fetchUser(@Path("user") String user); } 
0
source

Source: https://habr.com/ru/post/893732/


All Articles