使用HttpComponentsClientHttpRequestFactory时,很少有网址获得401 Unauthorized错误,但使用Simpleclienthttprequestfactory时工作正常。
我想使用HttpComponentsClientHttpRequestFactory的原因是为了读取422错误的响应体。
有关解决以下任何一个问题的想法吗? 1.如何在使用HttpComponentsClientHttpRequestFactory时消除401错误?要么 2.如何在使用Simpleclienthttprequestfactory时读取422错误的responseBody? (AFAIK对此的修复是使用HttpComponents,但它导致其他问题...)
答案 0 :(得分:0)
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createSystem());
添加HttpClients.createSystem()解决了问题
答案 1 :(得分:-1)
当我们在您通过HttpComponentsClientHttpRequestFactory调用的URL上使用curl时,您是否也获得了401? 由于代码401是未经授权的,因此您也应该从curl获得401。
您还可以尝试在发出两个请求时(从Simple与HTTPComponents客户端)捕获网络流量,以查看两个请求的确切不同之处 - 因为如果它们相同,那么两者都应该导致401错误。