配置重定向策略
Configuring redirect strategy
我正在测试 returns Location
header 带空格(无法修复)的端点,我收到 org.apache.http.ClientProtocolException
。根据其他答案,我必须创建 RedirectStrategy
并用 %20
编码空格。
查看文档我发现了一小部分关于 HTTP Client
配置的内容,但它似乎只包含基本信息。
如何将 RedirectStrategy
设置为 RestAssured
以使用 %20
对 Location
header 中的空格进行编码?
HttpClientConfig 允许您设置自定义 HttpClient 实例,您可以向其指定重定向策略。不幸的是,HttpClient 实例必须扩展 org.apache.http.impl.client.AbstractHttpClient
才能使用 REST Assured。这是一个应该有效的示例:
given().config(RestAssured.config().httpClient(HttpClientConfig.httpClientConfig().httpClientFactory(() -> {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setRedirectStrategy(..);
return httpClient;
}))). ..
您还可以为所有测试配置此设置:
RestAssured.config = RestAssured.config().httpClient(HttpClientConfig.httpClientConfig().httpClientFactory(() -> {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setRedirectStrategy(..);
return httpClient;
});
我正在测试 returns Location
header 带空格(无法修复)的端点,我收到 org.apache.http.ClientProtocolException
。根据其他答案,我必须创建 RedirectStrategy
并用 %20
编码空格。
查看文档我发现了一小部分关于 HTTP Client
配置的内容,但它似乎只包含基本信息。
如何将 RedirectStrategy
设置为 RestAssured
以使用 %20
对 Location
header 中的空格进行编码?
HttpClientConfig 允许您设置自定义 HttpClient 实例,您可以向其指定重定向策略。不幸的是,HttpClient 实例必须扩展 org.apache.http.impl.client.AbstractHttpClient
才能使用 REST Assured。这是一个应该有效的示例:
given().config(RestAssured.config().httpClient(HttpClientConfig.httpClientConfig().httpClientFactory(() -> {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setRedirectStrategy(..);
return httpClient;
}))). ..
您还可以为所有测试配置此设置:
RestAssured.config = RestAssured.config().httpClient(HttpClientConfig.httpClientConfig().httpClientFactory(() -> {
DefaultHttpClient httpClient = new DefaultHttpClient();
httpClient.setRedirectStrategy(..);
return httpClient;
});