Как получилось, что HttpURLConnection.getResponseCode()
выбрасывает IOException
, даже если статус известен?
Caused by: java.io.IOException: Server returned HTTP response code: 412 for URL: <my url>
Это не проблема получения кода ответа, поскольку он написан в сообщении об исключении.
Я бы ожидал получить код статуса (даже если он не ~ 200), не получив исключения, поэтому я смогу решить в своем коде, что делать.
Полная трассировка стека:
Caused by: java.io.IOException: Server returned HTTP response code: 412 for URL: <my url>
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1625)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
... my code
UPDATE Я изменил реализацию на стороне сервера, чтобы вернуть другой код состояния (303), и теперь он работает (не бросая исключение IOException). Это означает, что это связано с 412.