gpt4 book ai didi

cookies - 如何使用放心的请求设置cookie?

转载 作者:行者123 更新时间:2023-12-03 16:25:58 24 4
gpt4 key购买 nike

我需要自动化其余的 API。 API 受 Spring 安全保护。

以下是验证代码:

Response response = given().auth()
.form(userName, password, FormAuthConfig.springSecurity().withLoggingEnabled(new LogConfig(captor, true)))
.post("/home/xyz.html");

Assert.assertTrue("Error occurs", response.statusCode() == 302);

if (response.statusCode() == 302) {
Cookie cookie = response.getDetailedCookie("JSESSIONID");
result.actualFieldValue = "User Authenticated: Session ID ->" + cookie.getValue();
System.out.println("Cookie set : "+cookie.getValue());
apiTestSessionID = cookie.getValue();
}

用户登录并返回 302 状态,表示重定向。我找到了 cookie 并设置了一些全局变量。

现在,我使用请求设置 cookie:
RequestSpecification reqSpecification = new RequestSpecBuilder().addCookie("JSESSIONID", AbstractBaseClass.apiTestSessionID).build();

Map<String, String> parameters = new HashMap<String, String>();
parameters.put("cstmrID", "000N0961");
parameters.put("pageNumber", "1");
parameters.put("pageSize", "10");
parameters.put("sortColumnName", "FIELD_NM");
parameters.put("sortDir", "asc");
parameters.put("filterColumnName1", "");
parameters.put("filterColumnName2", "USER_UPDT_EMAIL_ID");
parameters.put("filterValue2", "");

reqSpecification.queryParams(parameters);

Response response = given().spec(reqSpecification).when().get("/service/customerConfig").thenReturn();
System.out.println(response.asString());

但作为回应,我得到了 登录页面 HTML .我无法理解我哪里做错了。

假设:
  • 由于使用 post 请求,返回 302,我是否需要重定向到下一个 url,然后使用 cookie 执行 get 请求。
  • 这是使用请求设置 cookie 的正确方法吗?
  • 我是否需要使用请求设置 header 。如果是,则以下是标题信息。我需要设置所有这些吗?

  • GET /example.com/abc.html HTTP/1.1 Host: example.com Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8 Cookie: JSESSIONID=C70A69F1C60D93DC3F8AC564BDE3F4DE.lon2mcaqaapp002; __utma=185291189.2055499590.1460104969.1460104969.1460618428.2

    最佳答案

    import io.restassured.RestAssured;
    import io.restassured.http.ContentType;
    import io.restassured.http.Cookies;

    private Cookie cookie;

    @BeforeClass
    public void exampleOfLogin() {
    String body = String.format("//json");
    cookies = RestAssured.given()
    .contentType(ContentType.JSON)
    .when()
    .body(body)
    .post("www.test_test.com")
    .then()
    .statusCode(200)
    .extract()
    .response()
    .getDetailedCookies();
    }

    @Test
    public void performActionsBasedOnCookies() {
    //set cookies before making a post request and check the returned status code
    RestAssured.given()
    .cookies(cookies)
    .contentType(ContentType.JSON)
    .when()
    .post("www.test_url.com")
    .then()
    .statusCode(200);
    }

    关于cookies - 如何使用放心的请求设置cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42389580/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com