2016-07-16 113 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()解決

相關問題