0

我想从 servlet 向 j_security_check 发送请求并从响应中获取 auth cookie。代码:

String url = "http://someserver:8080/j_security_check?j_username=user&j_password=qwerty";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();

如果我输入了错误的身份验证参数,那么在响应时我会得到一个默认的错误登录页面,但如果我输入正确的身份验证参数,我会得到服务器代码 408。怎么了?

4

1 回答 1

7

要使用 j_security_check auth 在 tomcat 服务器上获取一些资源,需要执行三个步骤:

  1. 向所需的私有资源发送 GET 请求,作为响应,您会得到一个 cookie(标题“设置 cookie”。
  2. 将带有 cookie 的请求(来自步骤 1)发送到 j_security_check。在响应您应该得到代码 302 - “临时移动”。
  3. 现在,您可以使用相同的 cookie 对私有资源重复请求,以响应您获得所需的资源数据。
于 2011-04-08T15:38:17.063 回答