【问题标题】:how to set latest coockie as header using restAssued如何使用 rest Assured 将最新的 cookie 设置为标头
【发布时间】:2017-10-13 09:23:45
【问题描述】:

场景如下: 我有两个网址 URL1 = https://someurl.com URL2 (WebService URL) = https://jira/something/j2/projectstatus?projectID=12345

现在,如果我使用有效的 usedID/密码登录 chrome 上的 URL1,并且如果我直接在 chrome 浏览器的第二个选项卡上点击 URL2。我得到了一些回应。

但是,如果我没有登录到 URL1 并尝试在 chrome 上点击 URL2,我得到的响应为 {错误:您没有登录权限;错误ID:错误}

我没有此 Web 服务的标题信息

请建议如何使用以 cookie 作为标头的放心访问 URL2。

【问题讨论】:

    标签: java rest-assured


    【解决方案1】:

    您可以使用 RestAssured 为第二个请求设置 cookie,例如:

    Cookie userNameCookie = new Cookie.Builder("username", "some_value")
                    .setSecured(true)
                    .setComment("some comment")
                .build();
    Cookie pwdCookie = new Cookie.Builder("password", "some_value")
                    .setSecured(true)
                    .setComment("some comment")
                .build();
    Cookies cookies = new Cookies(userNameCookie, pwdCookie);
    
    Response response = given().port(port).cookies(cookies).when().get("request URL");
    

    【讨论】:

    • 感谢您的回复。
    • 我会先在本地试试这个
    • 我尝试了上述解决方案,对我来说效果很好。
    • 这里还有一个问题:我们如何获取最新的 Cookie,然后使用该 Cookie 将其传递给 Web 服务请求。
    • 实际上如果使用今天的 cookie 并在明天运行 Web 服务。它不工作。什么是最好的解决方案???...我怎样才能获得最新的cookie并将其设置为下一个网络服务请求..???..请建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多