使用 HTTP Apache 客戶端將 XML 響應作為字符串讀取時,我收到以下異常:org.apache.http.MalformedChunkCodingException: CRLF expected at end of chunk這是在我的代碼中讀取從 REST API 檢索到的 XML:{WebTarget target = this.client.target(new URI(loginUrl));Response response = target.request(MediaType.APPLICATION_XML).post(Entity.entity(xmlString, MediaType.APPLICATION_XML));logger.info("Response -> "+response);String responseXML = response.readEntity(String.class);}該響應由服務器以隨機間隔觸發。HTTP Request POST http://{serverName}:{port}/auth/2.8/signinHTTP ResponseAn Apache HTTP Response Pojo Object
1 回答

揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
請幫助識別并解決此問題。
您的問題中沒有足夠的信息來做到這一點。
客戶端庫抱怨其響應格式錯誤;即它違反了HTTP規范。它所討論的規范的特定部分是第 4.1 節 - 分塊傳輸編碼
一種可能的解釋是您嘗試使用的 Web 服務器實施不正確。如果您使用的服務器是一些被誤導的人試圖使用套接字從頭開始實現的服務器,而不是使用現有的 Web 容器或 http 協議庫的明智方法,則可能會發生這種情況。
第二種可能的解釋是,有什么東西干擾了傳輸中的 TCP/HTTP 數據。
這要如何調查呢?好吧,我建議如下:
閱讀 HTTP 規范的相關部分,以便了解要查找的內容。
使用 Wireshark 等數據包監控工具來捕獲其中一種故障的原始流量。
仔細檢查捕獲的數據包以發現丟失的 CRLF
找出數據包來自何處,然后返回源以查看問題產生的位置。
另外,請查看其他一些“塊末尾預期 CRLF”的問答,尋找與您的案例相關的問題。
添加回答
舉報
0/150
提交
取消