Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 401使用HttpComponents客户端HttpRequestFactory时出错_Java_Spring_Rest_Httpclient_Http Status Code 401 - Fatal编程技术网

Java 401使用HttpComponents客户端HttpRequestFactory时出错

Java 401使用HttpComponents客户端HttpRequestFactory时出错,java,spring,rest,httpclient,http-status-code-401,Java,Spring,Rest,Httpclient,Http Status Code 401,当使用HttpComponentClientHttpRequestFactory时,我收到一些URL的401未经授权的错误,但是当使用Simpleclienthttprequestfactory时,它工作正常 我想使用HttpComponents客户端HttpRequestFactory的原因是为了读取422错误的响应体 对解决以下任何一个问题有何想法? 1.如何在使用HttpComponents客户端HttpRequestFactory时消除401错误?或 2.如何在使用Simpleclien

当使用HttpComponentClientHttpRequestFactory时,我收到一些URL的401未经授权的错误,但是当使用Simpleclienthttprequestfactory时,它工作正常

我想使用HttpComponents客户端HttpRequestFactory的原因是为了读取422错误的响应体

对解决以下任何一个问题有何想法? 1.如何在使用HttpComponents客户端HttpRequestFactory时消除401错误?或 2.如何在使用Simpleclienthttprequestfactory时读取422错误的响应库?(恐怕修复程序使用的是HttpComponents,但它会导致其他问题…

  • 当我们在您从HttpComponents客户端HttpRequestFactory调用的URL上使用curl时,您是否也获得了401?
    由于代码401未经授权,您也应该从curl获得401

    • 您是否需要在请求中设置用户/密码以获得正确的凭据? 从Simpleclienthttpsrequestfactor发送的请求是否使用了凭据

您还可以尝试在发出这两个请求时捕获网络流量(来自Simple和HTTPComponents客户端),以可视化这两个请求的不同之处——因为如果它们相同,然后两者都会导致401错误。

HttpComponentsClientHttpRequestFactory requestFactory=新的HttpComponentsClientHttpRequestFactory(HttpClients.createSystem())


添加HttpClients.createSystem()解决了问题

Simpleclienthttpsrequestfactory的请求中没有发送凭据,我没有从代码中执行任何有关身份验证/授权的操作。。。另外,你能分享一个链接来指导如何捕获流量吗?我使用wireshark:但是有些工具只关注HTTP流量,可能更容易使用。假设您确实下载并安装了wireshark:尝试以下步骤:(我阅读了这些步骤,它们看起来很合理)——除了不要遵循步骤9,因为您没有提交支持票证。您也可以尝试fiddler,因为它的通用性不如Wireshare,所以开发人员更容易使用,因为它更适合web开发人员的需要。