5

I want to set the HTTP Request header "Authorization" when sending a POST request to a server. How do I do it in Java? Does HttpClient have any support for it?

http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z9

The server requires me to set some specific value for the authorization field: of the form ID:signature which they will then use to authenticate the request.

Thanks Ajay

3 Answers 3

5

Below is the example for setting request headers

    HttpPost post = new HttpPost("someurl");

    post.addHeader(key1, value1));
    post.addHeader(key2, value2));
Sign up to request clarification or add additional context in comments.

Comments

2

Here is the code for a Basic Access Authentication:

HttpPost request = new HttpPost("http://example.com/auth");
request.addHeader("Authorization", "Basic ThisIsJustAnExample");

And then just an example of how to execute it:

HttpParams httpParams = new BasicHttpParams();
HttpProtocolParams.setVersion(httpParams, HttpVersion.HTTP_1_1);
HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
HttpClient httpclient = null;
httpclient = new DefaultHttpClient(httpParams);

HttpResponse response = httpclient.execute(request);

Log.d("Log------------", "Status Code: " + response.getStatusLine().getStatusCode());

Comments

0

This question is "answered" here: Http Basic Authentication in Java using HttpClient?

There are many ways to do this. It was frustrating for me to try to find the answer. I found that the best was the Apache docs for HttpClient. Note: answers will change over time as the libraries used will have deprecated methods. http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/authentication.html

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.