我想在向服务器发送POST请求时设置HTTP请求标头“授权”。 我如何用Java做到这一点? HttpClient对它有任何支持吗?
http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z9
服务器要求我为授权字段设置一些特定值: 表单ID:签名,然后他们将用于验证请求。
由于 阿贾伊
答案 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