Java 如何捕获请求头中动态变化的referer值
我想将referer值添加到我的代码中,但当我从网络选项卡通过Chrome的inspect检查它时,referer值不是常量,它总是在变化。如何在代码中捕获并定义它?有没有办法将referer设置为请求头中的参数 我使用Java使用RestAssure框架Java 如何捕获请求头中动态变化的referer值,java,json,rest,rest-assured,rest-assured-jsonpath,Java,Json,Rest,Rest Assured,Rest Assured Jsonpath,我想将referer值添加到我的代码中,但当我从网络选项卡通过Chrome的inspect检查它时,referer值不是常量,它总是在变化。如何在代码中捕获并定义它?有没有办法将referer设置为请求头中的参数 我使用Java使用RestAssure框架 RestAssured.baseURI="https://test-v2-api.mykredit.com/api/customer/light"; //RestAssured.baseURI="h
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);
}
您可以使用
io.restassured.response
()中的getHeader(字符串名称)
方法从响应头中检索值
Response response = httpRequest2.request(Method.POST,"/pinValidate");
String referer = response.getHeader("referer");
进口
import io.restassured.response.Response;
import io.restassured.internal.RequestSpecificationImpl;
您还可以使用标题(字符串名称)
方法
更新
您可以使用
io.restassured.internal.RequestSpecificationImpl
()中的getHeaders()
方法来检索请求头
Response response = httpRequest2.request(Method.POST,"/pinValidate");
String refererValue = ((RequestSpecificationImpl) httpRequest2).getHeaders().get("referer").getValue();
进口
import io.restassured.response.Response;
import io.restassured.internal.RequestSpecificationImpl;
谢谢你的回答,但我不明白你的意思。referer值位于请求标头中,而不是响应标头中。