Это та же проблема, что и у меня:
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....
Таким образом, вы сможете получить необходимый ответ как в случае успеха, так и в случае ошибки.
Надеюсь, это поможет!