JAVA:无法从401读取身体

Mig*_*iro 5 java rest post httpurlconnection http-status-code-401

我正在使用java HttpUrlConnection(使用POST)来创建一个非常简单的休息客户端.服务器接受并回复aplication/xml.即使对于错误情况(状态代码3xx,4xx,5xx),它也会发送xml有效负载 - 由此服务器实现指定 - 我可以从errorStream成功获取.

这适用于服务器回复401时所期望的所有错误情况.在这种情况下,只有errorStream为null,并且在尝试从InputStream读取时会抛出异常.

我使用Wireshark捕获了请求,并且正确接收了响应.问题是在java方面得到它

Mig*_*iro 0

使用HTTPClientApache 解决了这个问题。对于成功和错误,获取输入流(具有响应正文)的方法始终相同:

httpresponse.getEntity().getContent()
Run Code Online (Sandbox Code Playgroud)