0

How can I get cookies from a authentication request to a webservice that uses session? I can not change the webservice implementation.

public static Result authenticate(){
    Form<Login> f = form(Login.class).bind(request().body().asJson());

    Promise<WS.Response> result = WS.url("http://site/login")
        .post("{\"login\":\"login\", \"password\":\"password\"}");

    return async(result.map(
            new Function<WS.Response, Result>() {
                public Result apply(WS.Response response) throws Throwable {
                    if(response.getStatus() == OK){
                        JsonNode jn = response.asJson();
                        session("username", jn.get("login").toString());

                        // how can I get cookies from webservice?

                        return ok(jn);
                    }else{
                        return internalServerError();
                    }
                }
            }
        )
    );
}
4

1 回答 1

1

我在这里找到了答案。第一个 Web 服务响应具有 Set-Cookie 标头。

response.getHeader("Set-Cookie");
于 2012-10-23T01:57:54.317 回答