Это та же проблема, что и у меня:
HttpUrlConnection возвращает FileNotFoundException, если вы пытаетесь прочитать getInputStream () из соединения.
Вместо этого вы должны использовать getErrorStream (), когда код состояния выше 400.
Более того, пожалуйста, будьте осторожны, поскольку не только 200 должны быть кодами статуса успеха, даже 201, 204 и т. Д. Часто используются в качестве статусов успеха.
Вот пример того, как я справился с этим
... connection code code code ...
// Get the response code
int statusCode = connection.getResponseCode();
InputStream is = null;
if (statusCode >= 200 && statusCode < 400) {
// Create an InputStream in order to extract the response object
is = connection.getInputStream();
}
else {
is = connection.getErrorStream();
}
... callback/response to your handler....
Таким образом, вы сможете получить необходимый ответ как в случае успеха, так и в случае ошибки.
Надеюсь, это поможет!