2016-07-16 372 views
-1

Am getting 401在使用HttpComponentsClientHttpRequestFactory时出现少量URL的未授权错误,但是在使用Simpleclienthttprequestfactory时它工作正常。使用HttpComponentsClientHttpRequestFactory时出现401错误

我为什么要使用HttpComponentsClientHttpRequestFactory的原因是阅读422错误的响应体。

上解决问题,以下任何一个有什么想法? 1.如何在使用HttpComponentsClientHttpRequestFactory时消除401错误? OR 2.如何在使用Simpleclienthttprequestfactory时读取422错误的响应体? (据我所知这种修复是利用HttpComponents但造成其他问题...)

回答

-1
  • 当我们用在您从HttpComponentsClientHttpRequestFactory你还得到一个401呼叫URL卷曲?
    由于代码401未经授权,您应该从curl获得401。

    • 您是否需要在请求中设置用户名/密码以拥有适当的凭据? 是由Simpleclienthttpsrequestfactor发送的请求使用的凭证?

您也可以尝试捕获网络通信使两个请求时(从简单的对比HTTPComponents客户端),以可视化究竟是关于两个要求不同 - 因为如果他们是相同的,那么两者都应该导致401错误。

+0

目前还没有从Simpleclienthttpsrequestfactory请求发送凭据,我没有做与我的代码对于认证/授权任何东西......而且,你能共享的问题链接教育如何捕捉流量? – Furiouz

+0

我使用wireshark:https://www.wireshark.org/,但有些工具只关注可能更易于使用的HTTP流量。假设你下载并安装Wireshark的:请尝试以下步骤:https://confluence.atlassian.com/kb/how-to-capture-http-traffic-using-wireshark-or-fiddler-779164332.html(我读他们,他们看起来是合理的) - 除非不遵循第9步,因为你没有提交支持票。你也可以尝试一下fiddler,因为它是一个比Wireshare更不常用的工具,所以开发人员更容易使用,因为它更适合Web开发人员的需求。 –

0

HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(HttpClients.createSystem());

添加HttpClients.createSystem()解决

相关问题