gpt4 book ai didi

Spring RestTemplate 重定向 302

转载 作者:行者123 更新时间:2023-12-02 01:53:41 28 4
gpt4 key购买 nike

我正在尝试使用 Spring Rest 模板来执行登录请求。

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
mvm.add("LoginForm_Login", "login");
mvm.add("LoginForm_Password", "password");

ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);

我的 ResponseEntity 状态是 302,我想按照此请求获取正文响应,因为我没有获取此请求的正文。

18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - StatusResponse - 302
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - BodyResponse -

我该如何解决这个问题?!

最佳答案

如果请求是 GET 请求,则会自动遵循重定向(请参阅 this answer )。要使其在 POST 请求上发生,一种选择可能是使用不同的请求工厂,例如 HttpComponentsClientHttpRequestFactory,并将其设置为使用带有所需设置的 HttpClient 来遵循重定向(参见 LaxRedirectStrategy ):

final RestTemplate restTemplate = new RestTemplate();
final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
final HttpClient httpClient = HttpClientBuilder.create()
.setRedirectStrategy(new LaxRedirectStrategy())
.build();
factory.setHttpClient(httpClient);
restTemplate.setRequestFactory(factory);

我还没有测试过,但这应该有效。

关于Spring RestTemplate 重定向 302,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32392634/

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