java - 我如何捕获请求标头中动态变化的引用值
问题描述
我想将引用值添加到我的代码中,但是当我通过检查 Chrome 从网络选项卡检查它时,引用值不是恒定的,它总是在变化。我如何在我的代码中捕获和定义它?有没有办法将引用者设置为请求标头中的参数?
我正在使用 Java 使用 RestAssure 框架。
RestAssured.baseURI="https://test-v2-api.mykredit.com/api/customer/light";
//RestAssured.baseURI="https://test-v2-api.mykredit.com/api/membership";
RequestSpecification httpRequest2 = RestAssured.given();
JSONObject requestparam2 = new JSONObject();
System.out.println(mobilenum.substring(5));
requestparam2.put("pin",mobilenum.substring(5));
httpRequest2.header("Content-Type","application/json; charset=utf-8");
httpRequest2.body(requestparam2.toJSONString());
//Response response = httpRequest2.request(Method.POST,"/login");
Response response = httpRequest2.request(Method.POST,"/pinValidate");
String responseBody = response.getBody().asString();
System.out.println(responseBody);
int status = response.getStatusCode();
System.out.println("Status"+" "+status);
Assert.assertEquals(status, 200);
}
解决方案
您可以使用(java 文档getHeader(String name)
)中的方法从响应标头中检索值。io.restassured.response
Response response = httpRequest2.request(Method.POST,"/pinValidate");
String referer = response.getHeader("referer");
进口;
import io.restassured.response.Response;
您也可以使用该header(String name)
方法。
更新
您可以使用(Java 文档getHeaders()
)中的方法来检索请求标头。io.restassured.internal.RequestSpecificationImpl
Response response = httpRequest2.request(Method.POST,"/pinValidate");
String refererValue = ((RequestSpecificationImpl) httpRequest2).getHeaders().get("referer").getValue();
进口;
import io.restassured.internal.RequestSpecificationImpl;
推荐阅读
- python-3.x - VSCode + Python 3.7.6 注解@pytest.mark.xfail undefined
- javascript - 如何在地图函数中的反应js中获取两个不同日期之间的天数?
- swift - UIApplication.shared.open ,快速完成一次连接处理
- python - 如何在数据框中以组为基础应用 Wasserstein 距离度量
- javascript - 将对象内部的变量用于其他变量
- java - Json 文件作为 TestNG 中的数据提供者
- marklogic - 如何生成 MarkLogic 数据库报告?
- php - Laravel - 图像未显示 - 违反逻辑
- rest - 何时以及为什么应该使用 403 错误代码?
- python - 如何修复 Django IntegrityError?