如何使用HTTPClient设置HTTP请求标头“身份验证”?

时间:2010-10-21 01:22:00

标签: java authorization httpclient basic-authentication

我想在向服务器发送POST请求时设置HTTP请求标头“授权”。 我如何用Java做到这一点? HttpClient对它有任何支持吗?

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

服务器要求我为授权字段设置一些特定值: 表单ID:签名,然后他们将用于验证请求。

由于 阿贾伊

3 个答案:

答案 0 :(得分:3)

以下是设置请求标头的示例

    HttpPost post = new HttpPost("someurl");

    post.addHeader(key1, value1));
    post.addHeader(key2, value2));

答案 1 :(得分:2)

以下是Basic Access Authentication的代码:

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

然后只是一个如何执行它的例子:

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());

答案 2 :(得分:0)

这个问题是"回答"这里: Http Basic Authentication in Java using HttpClient?

有很多方法可以做到这一点。试图找到答案让我感到很沮丧。我发现最好的是HttpClient的Apache文档。 注意:答案会随着时间而变化,因为使用的库将使用不推荐的方法。 http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/authentication.html