【问题标题】:Request to j_security_check return 408 error only with right paramters仅使用正确的参数请求 j_security_check 返回 408 错误
【发布时间】:2011-07-29 00:29:24
【问题描述】:

我想从 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。出了什么问题?

【问题讨论】:

    标签: tomcat j-security-check http-status-code-408


    【解决方案1】:

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

    1. 向所需的私有资源发送 GET 请求,作为响应,您会得到一个 cookie(标头“Set cookie”。
    2. 将带有 cookie 的请求(从步骤 1 开始)发送到 j_security_check。在响应时,您应该会收到代码 302 - “临时移动”。
    3. 现在您可以使用相同的 cookie 重复请求私有资源,响应您获得所需的资源数据。

    【讨论】:

    • 我认为应该澄清这一系列步骤需要实现,因为在身份验证 servlet 检查客户端的活动会话之前。如果此会话已过期或根本没有会话(如果对 j_security_check 的请求是初始请求),服务器将返回 HTTP 错误 408 请求超时。
    猜你喜欢
    • 2017-05-13
    • 2018-12-04
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 2017-08-06
    • 2016-09-29
    • 2015-02-26
    相关资源
    最近更新 更多