1

有谁知道我在这里可能做错了什么?我在 tomcat-user.xml 中添加了用户名和密码,但仍然收到“401 Unauthorized”错误。

String url = "http://localhost:9080/manager/list";
HttpPost httppost = new HttpPost(url);
httppost.setHeader("Authorization", "Basic " + userPass);

log.debug("executing request {}", httppost.getRequestLine());
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();

BufferedReader rd = new BufferedReader(new InputStreamReader(entity.getContent()));
String line;
StringBuffer buffer = new StringBuffer();
while ((line = rd.readLine()) != null) {
buffer.append(line);
buffer.append('\n');
}
rd.close();
4

1 回答 1

1

答案取决于您使用的是 Tomcat 5.5/6 还是 Tomcat 7。

雄猫 7

您需要使用以下 URL 访问列表:

http://localhost:9080/manager/text/list

您需要使用具有该manager-script角色的用户配置 tomcat-user.xml。

雄猫 5.5/6

您需要使用以下 URL 访问列表:

http://localhost:9080/manager/list

您需要使用具有该manager角色的用户配置 tomcat-user.xml。

更新

您可能未正确执行基本身份验证步骤。用户名/密码可能需要进行 base64 编码。请参阅此问题中投票最高的答案:Java 中的 Http Basic Authentication using HttpClient?

于 2012-04-17T16:40:33.407 回答